Much ado about scripting, Linux & Eclipse: card subject to change

Showing posts with label sourceforge. Show all posts
Showing posts with label sourceforge. Show all posts

2010-03-05

Beyond CVS 0.8.9 Released!

It's true that the shoemaker's children often go shoeless; so to my little Sourceforge project, Beyond CVS/SVN - maintained tirelessly over the years by Chris Callendar - has had to wait *years* to finally get its own update site.

Sad, I know. But thanks to a recent breakthough in being able to insert associate sites into p2 repo metadata, you can now install Beyond CVS/SVN without having to hunt down Subclipse or Subversive's update sites.

Here's the new site: http://beyondcvs.sourceforge.net/update/0.8.x. If you point Eclipse at it, you can install the features therein. If you point a browser at it, you can see instructions for how to do the install. And if you want an offline install, here's the zip: org.eclipse.externaltools-Update-0.8.9.v201003051612.zip (README).

2008-10-11

Beyond CVS 0.8 Released!

The Beyond CVS project would like to announce the release of version 0.8.2, which includes the following updates & new or improved features:

  • Support for Beyond Compare 3, including 3-way compares & merges
  • Improved support under Linux, thanks to BC3's native client which no longer requires WINE
  • Improved integration in the Synchronize view
  • More Compare With options (local history, repository history)
  • Repository Folder compares
    -->
  • Support for the latest Eclipse 3.4.1 CVS plugins
  • Support for the latest Subversive 0.7.4 SVN plugins
  • Support for the latest Subclipse 1.4.4 SVN plugins

2008-07-30

Beyond Compare 3 Released!

My favourite file/folder compare tool, Beyond Compare, shipped its third release today. What's new?

Well, for one thing there's a fully-supported Linux version (available as .rpm or .deb), which means no more WINE!

There's also 3-way compares/merges, better unicode support, improved recursion & alignment in folder compares, improved text editor, better (S)FTP support, and lots more!

I'm also impressed with Scooter's "upgrade your license without penalty" policy, whereby you can buy the Standard Edition, and later upgrade to Pro Edition for only the difference in price.

Of course the new version still works with the Beyond CVS Eclipse Plug-In, so you can launch BC3 from Eclipse to do file/folder compares as a drop-in replacement for Eclipse's built-in compare engine.

2007-11-01

Beyond CVS, Subversion & Cirrus

Some news about the Beyond CVS project:

  1. With the release of version 0.7.0, Chris recently added support for doing SVN compares.
  2. Because of this, "Beyond CVS" is now a bit of a misnomer, so we're thinking of refactoring the project to better represent its scope and use. As part of this, we're wondering if the WinSCP and Putty support should be moved to another project or just a secondary feature/plugin. If you use this project, please let us know your thoughts.
  3. Beyond Compare 3 Beta (aka Cirrus) is almost ready for its public beta release. It's got some cool new features like native Linux support (including -flags instead of /flags), three-way compares/merges, better syntax colouration, the ability to copy entire blocks of changes instead of just single lines, and the ability to edit files right in the Text Compare view.

For anyone who's in the private beta group, here's a quick patch in order to be able to use Beyond CVS with Cirrus on Linux. (Windows users need no such patch as the old BC2 commandline syntax is still supported in BC3.)

$ diff -u Cirrus.sh Cirrus.sh.new
--- Cirrus.sh   2007-11-01 22:08:42.000000000 -0400
+++ Cirrus.sh.new       2007-11-01 22:25:39.000000000 -0400
@@ -22,7 +22,12 @@

 #execute the program.
 chmod u+x $EXEC
-$EXEC $* >& /dev/null
+while [[ $# -gt 0 ]]; do
+  if [[ $1 != "/rightreadonly" ]]; then
+    args=$args" "$1; shift 1;
+  fi
+done
+$EXEC $args >& /dev/null
 #$EXEC $* >& $BASE/Cirrus.log

Stay tuned for news of the public beta!

2007-09-12

Compare Different

In my role as the weekend webmaster for Rainbow Cinemas, I have on occasion the need to compare local and remote (ftp or ssh) files between my staging server and the production website; I also have to compare files between my local Eclipse projects and my local CVS repo, to see why and when changes were made.

So, what do I use? Well, I run KDE on my MEPIS box, so I've set up Konqueror profiles for the various admin tasks I need to do. For the web, I split a Konq window into four panes and can drag/drop files between local and remote, and also compare local and remote versions of the site.

When diffing files, I use Beyond Compare 2 (or Cirrus, their new beta), and have quite enjoyed it since the dark ages (circa Eclipse 3.0) when I first joined the IBM Toronto Lab (which isn't in Toronto anymore, but I digress). It's my not-so-secret weapon for releng work, web work, java work, ... really, everything. BC supports comparing/synching from local to a remote FTP site, but in most cases I find it slow as it has to download all the remote files, compare them to the local ones, and update the view. It's handy for single file compares or small folder compares, but doing entire trees requires a lot of patience as it builds the diff tree. So, more often than not, I just use Konqueror for swapping files back and forth, since its ftp and fish ioslaves rock. (This is perhaps the biggest reason I won't change to another wm like gnome or xfce.)

I can be pretty jaded sometimes when it comes to trying new software, especially if I've grown happy and complacent using a set of tools that I find work well. Switching to something new doesn't necessarily mean finding something better; often it just means time wasted and functionality lost.

While it's cool to use a mix of tools, sometimes it's nice when you can do everything in a single IDE. So, to that end, this past weekend I started playing with DSDP's Target Management (TM) offering. Very cool. It doesn't do folder compares yet, though there's been some talk about how that could be implemented either at the Eclipse Compare level or at the DSDP-TM level. I like being able to finally browse remote files within an Eclipse view (rather than in Konq or Konsole), but the absence of folder-to-folder comparison makes TM a bit of a non-starter for me, so far.

So, to that end, I opened bug 203001 to see if folder compares were possible, and now I'm realizing that it's both not a trivial thing to implement and also introduces some philosophical questions about "derivative work", "ethical competetion", "changing your business model" and "reinventing the wheel".

If there's a commercial piece of software, like Beyond Compare, with a superior (IMHO) diff engine, should they be persuaded to contribute to Eclipse? The current version of BC can be launched from inside Eclipse using Beyond CVS, and it does the job when Eclipse's internal compare isn't enough. But it's not a plugin, nor does it integrate into the IDE. It also requires WINE, but this is being addressed in Cirrus (BC3), with a linux-friendly qt version.

But should Scooter provide their code to Eclipse, and potentially lose customers in order to make Eclipse's Compare better?

If they did, they could grow their market share and get some good PR, but they wouldn't sell licenses. They could instead switch to a donation/swag model, I suppose.

Or they could sell a standalone RCP app version with just their compare stuff in it, so people could choose between the free integrated-in-Eclipse version and the paid standalone version. Problem is, integrated in Eclipse is much more useful IMHO so I'd think that would be a non-starter too.

What would you do, if you were were Scooter?

Conversely, if you were a committer for Eclipse Compare or DSDP-TM, how much functionality in BC would you attempt to recreate, given that you're reinventing the wheel, and that by giving it away for free you're taking business from a small company who's been in the biz of compare for years. I mean, sure, it would be great if all the functionality of BC was in Eclipse so that IBM could build on it and sell product based on it, but personally I'd feel a very dirty if by opening a feature request against DSDP-TM / Eclipse Compare I was helping IBM make money at the expense of all the good work Scooter has done over the years to make my life (and my job at IBM) so much easier.

Me, I'd just like to see a way to hook in different compare engines (eg., via a plugin like Beyond CVS), but is doing the work to allow what's in Eclipse Compare to be replaced by something else in Eclipse's best interest?

Yes, there'll always be competition in the marketplace, but how does a community like Eclipse compete ethically in a situation like this? And if open source is about enabling business to succeed faster/better/smarter/whatever (among other motivations), how do small companies survive if their product gets replaced by a free open source alternative? Does anyone have experience with their product being "Eclipsed" by something free?

Blogged with Flock

2006-08-26

Beyond CVS for Linux

Solved a long-standing annoyance this week - using the BeyondCVS Eclipse plugin on Linux.

One day, if I have time I'll try to turn this into a fragment so that it'll work without outside effort, but for now, here's the HOWTO:

0. Install WINE using yum, apt-get, etc. as appropriate for your linux distro. (Chances are this is already installed.)

1. Install beyond compare, from Scooter Software. I installed it using wine into /opt/beyondcompare2:

 $ wine beycomp.exe 
2. Create a script (eg., ~/bc2.sh) to handle passing commandline args. Your script might require a different drive letter prefix, depending on your wine install - I've had to use both s: and z:. chmod your script so it's executable (chmod +x ~/bc2.sh).
#!/bin/sh

# collect commandline params and turn them into wine-friendly paths
opts="";
while [ "$#" -gt 0 ]; do
  opts=$opts" s:"$1; shift 1;
done

/usr/bin/wine /opt/beyondcompare2/BC2.exe $opts
3. Test your script by running it in a console window.
$ ~/bc2.sh

4. Install BeyondCVS plugin and feature into your Eclipse 3.2+ install (or using a .link file).

5. Start Eclipse. Open up Help > Window > Preferences... > External Tools Launcher > Beyond Compare. In the field Path To Beyond Compare, enter the path to your shell script, eg., /home/nickb/bc2.sh. Leave the Show Debugging Info? checkbox enabled.

6. Select two files or folders in your Package Explorer or Navigator. Beyond Compare should launch under WINE. If it doesn't, open a console and run your bc2.sh script, passing the same two parameters shown in the debug info popup in Eclipse. As noted above, you might have to change the drive letter from s: to z: or something else so that WINE can find the files you passed it. If all worked, you can remove the Show Debugging Info? checkbox in the Preferences panel.

Happy comparing!