Subversion is subzero
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:
- wicket
- wicket-extensions
- wicket-examples
- wicket-quickstart
- wicket-spring
- wicket-spring-examples
- wicket-spring-annot
- wicket-spring-annot-examples
- wicket-spring-cattr
- wicket-spring-cattr-examples
- wicket-auth-roles
- 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.