As I am in the progress of learning the ropes of subversion, and becoming appalled by the support for subversion in Eclipse when compared to the CVS support, I am learning to like subversion.

A little gem while releasing Wicket 1.2-beta2 struck my mind. My previous, CVS era, modus of operandi was to select all my projects in the workspace and tag them at once as "WICKET_1_2_BETA2", so the projects current state would be traceable when a bug emerged.

To my amazement, this feature doesn't work in Subversive, probably the best subversion integration currently available for Eclipse. You can't select multiple projects, and tag them as a version. "Ah, well" I thought, "Then I'll do them by hand one at a time". Can you imagine the following scenario, tagging all the projects in my workspace? Here is a list of the projects that need to be tagged:

  1. wicket
  2. wicket-extensions
  3. wicket-examples
  4. wicket-quickstart
  5. wicket-spring
  6. wicket-spring-examples
  7. wicket-spring-annot
  8. wicket-spring-annot-examples
  9. wicket-spring-cattr
  10. wicket-spring-cattr-examples
  11. wicket-auth-roles
  12. wicket-auth-roles-examples

That is quite some work when you have to do each project on its own. Especially with the GUI speed of Eclipse including Subversive on OSX. So I tried versioning the Wicket core project and Subversive or sourceforge presented me with "502 bad gateway". So that's a clear no go on the Subversive versioning.

At this moment I decided to go to my bookshelve and pull out the 'Pragmatic Version Control using Subversion" from the Pragmatic Programmers. And then it struck me: Why didn't I just do a serverside copy of the trunk to a tag. We're working with Subversion now. So I downloaded the OS-X subversion client from Metissian, and installed the package.

One note: don't forget to add /usr/local/bin to your path variable, otherwise you'll keep staring at a command prompt that says: svn: command not found.

From there on it was plain and simple:

$ svn --username dashorst -m "Releasing Wicket 1.2-beta2" 
       copy https://svn.sourceforge.net/svnroot/wicket/trunk 
           https://svn.sourceforge.net/svnroot/wicket/tags/WICKET_1_2_BETA2

That was it! Now we are the proud owner of a new tag in subversion, with the name WICKET_1_2_BETA2, and the whole repository state has been reflected in this tag. Now that is something to write about.

Subversion: though the Eclipse support sucks, it is subzero -> cooler than cool.