Source Control Mastery - The Daily WTF

We all love source control, right?

Source Control Mastery - The Daily WTF (recommended by Ernest Friedman-Hill)

I couldn’t live without it any more. So much so that the “gateway drugs” of CVS and Subversion are not enough any more. I keep being tempted to move on to stronger stuff, like Git and Bazaar …

Beanstalk — Version Control with a Human Face

I’m intrigued by this. A hosted subversion service, which seems to be positioning itself alongside similar services for other protocols (e.g. GitHub). Right now I’m having trouble working out whether there are any significant extra features beyond what I get already with my account at Dreamhost .

Beanstalk — Version Control with a Human Face

Using the new subversion integration in Eclipse Ganymede

Like many other developers I was keen to try out the recent Eclipse Ganymede release. In particular I wanted to try the new subversion integration (”subversive”) to see if it is any better than the old (”subclipse”) plugin I used to use with Europa.

Getting the new subversion working was surprisingly tricky. Obvious choices simply do not work, and the error messages do not give quite enough information to solve the problem. Add to this that some of the names of locations and updates can easily be misconstrued and you have a recipe for confusion.

For example, the error message presented if you try to use the subversive plugin without installing any third-party connectors is the only-partially-helpful:

SVN: ‘0×00400006: Validate Repository Location’ operation finished with error: Selected SVN connector library is not available or cannot be loaded.
If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.
If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Client.
Selected SVN connector library is not available or cannot be loaded.
If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.
If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Client.

I think the Eclipse folks have potentially missed something important here - checking out a project or three from subversion is almost always the way I start when I want to evaluate an IDE.

Anyway, here are a set of steps which should result in a working Eclipse Ganymede with the new subversion:

Get the basic subversion integration plugin from the eclipse download site

  1. Select Help::Software Updates from the menu bar
  2. Unfold Ganymede::Collaboration Tools
  3. Select SVN Team Provider (Incubation)
  4. Click install… and follow the instructions, including a restart of Eclipse

Resist the temptation to try and use the plugin at this point. It won’t work and you will get the above confusing message about connectors.

Get the third party SVN connectors from a different update site

  1. Select Help::Software Updates from the menu bar
  2. Click Add Site…
  3. Enter http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/ and Click OK
  4. Unfold the new site :: Subversive SVN Connectors
  5. Select appropriate connectors. In my case I selected Subversive SVN Connectors, SVNKit 1.1.7, and SVNKit 1.2.0
  6. Click install… and follow the instructions, including a restart of Eclipse

You should now be able to either Window::Show View::Other…::SVN Repositories or Window::Open Perspective::Other…::SVN Repository Exploring and add repositories to your hearts’s content.

Please let me know if your process differs from this, or if you have any corrections or suggestions.

Cleanly Migrate Your Subversion Repository To a GIT Repository

Regular readers (are there any?) should have guessed by now that I am investigating distributed version control (specifically git). I also have a significant investment of code and history in subversion repositories. A way to migrate from svn to git, keeping all the commit histories sounds great…

Simplistic Complexity » Cleanly Migrate Your Subversion Repository To a GIT Repository

Also An introduction to git-svn for Subversion/SVK users and deserters or Git Guides - Import from Subversion

Fun with Git

Recently I decided that it was time to stop just reading about distributed version control and give it a go. I had already run through a variety of git tutorials, but all of them concentrated on use of local repositories and/or starting with a clone of an existing remote repository.

My main need is something slightly different, though. I want to set up my own remote repositories for my large and rambling collection of projects, so that I can access them wherever and whenever I am working.

I was tempted to use Github but decided that the learning process of doing it myself would be valuable. Eventually, I think it was, but I still might go to Github for some of my projects.

My first step was to install Git on my main development machines. On the Ubuntu box it was easy using the Synaptic package manager. On a Windows box it’s not quite so straightforward, involving a choice between a Git based on Cygwin and a Git based on direct use of Windows libraries. I eventually chose the second option, but I might change my mind later if it doesn’t work out. For the moment it does the job.

My next step was to set up the remote repository. I decided to host my repositories on some space I rent from Dreamhost, as they seem generally pretty supportive of new stuff, and already include subversion hosting.

I started by following the steps in the DreamHost Wiki entry on Git, but could not make that work. Something went wrong at the step of pushing a local repository over WebDAV. Determined to continue, I instead tried the (somewhat more complex) steps at Autopragmatic » Blog Archive » Hosting a git repository on dreamhost. Even though this involved rebuilding a slightly non-standard version of Git on the server this now works very well.

I now have a small green-field project in a remote repository at Dreamhost. My next plan is to investigate using git-svn or some other form of git/subversion bridge.

Subversion 1.5 is Ready

Nice summary of the new features in Subversion 1.5.

Mike Mason » Subversion 1.5 is Ready

.. and it’s much more useful than the simplistic and argumentative coverage of the same launch by InfoQ