Posts Tagged ‘Mercurial’

Mercurial

Sunday, November 2nd, 2008

Well, some of you may have wondered what I have been up to. Or maybe not. It has been a while and I have been doing a lot of things and some of them even with Raydo. :-)

So in a way to catch up, here is one thing I did. I moved away from SVN to Mercurial (hg). I did it in steps, first running svn and hg at the same time, and later just stopped committing to svn. Then i just went cold Turkey and turned off SVN, deleting all the files from the public server.

MADE THE SWITCH

First, I have switched to a DVCS, Mercurial.

Mercurial is a cross-platform, distributed revision control tool for software developers. It is mainly implemented using the Python programming language, but includes a binary diff implementation written in C. Mercurial was initially written to run on Linux. It has been ported to Windows, Mac OS X, and most other Unix-like systems.

That blurb, was courtesy of WikiPedia. hg makes it very easy to switch. They are used to co-existing with svn servers. They play nicely together and that is good for everybody. They use two different directories , .hg and .svn so they do not conflict.

WHY?

One of the main problems when working on multiplatform code, is the version control system. a DVCS is so much nicer ( In addition to just being plain better ) when throwing code around. Say I am working on a getting some code working on Linux that works fine on the mac. I want to test out things to see if they work. I can check in code locally, and develop until it works. Sync with the mac, then once I am done , send it to the canonical mercurial server.

I was running on a local svn server , which was fine, but I did not want to constantly leave it on AND I wanted to be able to check code in when [1] I was not on my local network, and [2] I was not online.

THE OTHER DVCS

Yeah, I tried Git, and it was just a pain on Windows. Sure, I am not a big fan of windows by any means, but Git is just hostile toward Windows. With the linux kernel guys using Linux, I think Git will be around for some time. In fact, I would say going forward Git is the leading contender if they can get their stuff together. bzr is coming up a distant third in the race behind mercurial.