Wednesday, November 12, 2008

I'm converted

For quite a while now, I have been hearing a lot about how cool distributed version control systems are and then a few months ago, Brad Fish posted about git and gave it a glowing endorsement, so I finally got around to doing a little detailed research and trying one out for myself.

While I can't stand Linus personality, I have to admit that the DVCS idea is just plain AMAZING. I personally like Mercurial over git since it uses the same interface as CVS/SVN whenever possible and it seems to be a little simpler than git without giving up any of the advantages (I'm still new to both of them, so that may not necessarily be true). One of Linus' big knocks on Mercurial was that it couldn't scale and that it couldn't perform as well as git, but in the benchmarks/timing studies that I could find they seemed to be in the same ballpark, so maybe that claim was earlier in the development cycle or something.

But at any rate, I think that the ease of merging branches is a HUGE gain and I have already cleaned up some of the ugly brances and odd copies that I had hanging around on my computer. I'm definitely converted to the DVCS revolution.

I would also just like to add that to get WinMerge to work with TortoiseHg 0.5 I added the following lines to my mercurial.ini file:

cmd.vdiff = C:\Program Files\WinMerge\WinMergeU.exe
They have a wiki page describing how to setup merge tools, but I couldn't get it to work for some reason, but the above worked.


Brad said...

Sweet! I should actually try out Mercurial. Isn't it written in python?

Dave Johansen said...

Ya, from what I read, it's Python code with a C binary differencing engine.

This is probably completely arbitrary on my part, but I actually think that the internal system is a little more sounds than gits (something about file renames not being literally tracked and being detected by a removed file that is similar to a new file seems a bit odd to me).

I was also impressed at how easy it was to transition over my existing SVN repositories and to hit the ground running using the similar command interface. But at any rate, I'm definitely converted to Linus' bold statements about the HUGE gains in productivity and I don't know if I'll ever switch back.