The Miraculous Resurrection of Novell Forge svn and the Recovery of Source Code History

If you read this blog on a regular basis you may recall that back on May 12 I blogged Caught Off Guard Novell Forge svn is Gone!

I had missed the email and had not known that Novell Forge was going away as of March 2010. So as it was, the Novell Forge svn server had already been running way past the deadline when I found it was down on May 11 and 12. That morning I googled and found the notice about it. So we quickly moved to Codeplex with a new Mercurial repository which I have since found to be a joy to use. Ultimately I felt the whole situation had been a blessing in disguise because I like Mecurial so much better than Subversion.

Then a few weeks later on June 6, a surprising thing happened, there was a post in the forums where a user said he just got the latest version of the code from svn. As it turned out, the svn repository at Novell Forge was back online!

So the next morning I did some research and found this post and this linked post about how to get svn history into Mercurial. It seemed pretty straightforward so I kicked the process off wondering if it would really work given we have history in the svn repository going back to 2005. The process started working, it scanned the repository and started counting down from 6000 plus change sets that I guess it was converting to Mercurial change sets. So that was the morning of June 7, 2010 and it finally finished running this morning sometime before I got up. Today is June 28 so it ran for about 21 days. The conversion process was surprisingly robust in that a few nights (including the screen shot below where it was getting close to finishing) it would lose its connection with the server and stop running, but I would kick it off again and it would scan and then pick up where it left off. The process was killed one night because my computer went into hibernate mode an would not wake up without powering it off, and another night a forced reboot by windows update killed it, but every time it managed to work again and pick up where it left off.

hg convert screen shot

So now I have the ability to browse change history going back to the beginning of our svn repository using TortoiseHG with a Mercurial repository on my local machine.

TortoiseHG repository browser

I'm kind of glad we started with just the latest code in a clean repository at Codeplex because this much history takes up a lot of space on disk, but now it is nice that I will be able to have an archive the source code history on CD ROM.

I have to say that I am pleasantly amazed with Mercurial and TortoiseHG!

Anyway, thought I would share the happy ending!


Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

Gravatar Joe Audette is the founder of the mojoPortal project and was the primary developer until February 2017.