The more things change, the more they stay the same

So as I said I would in last night's post, I read more of the Git documentation and various blog posts surrounding the topic. Now that I understand more about Git, I do find its model interesting. As I understand it, Git basically stores changesets as floating objects, and you have heads (which they call branches) which point to changesets, which then point to their parent changesets. You can pull random changes into a Git repository - it doesn't care. So you could have the Linux kernel sources in your repo, and pull in Samba, and then nuke all of the heads that point at the Linux kernel sources, prune your repository, and hey! You just switched your repository from Linux to Samba! What fun!

But as cool as that sounds, I've decided to stick with Mercurial. Here's why:

I have been working with hg for a while now and really the only problem I have had is this thing surrounding named branches which ultimately is little more than an annoyance. So I'm going to stick with it and hopefully they'll come up with a good solution for it in a future version. Or I'll get bored some night and come up with something myself. You never know.

I also gave bzr another look. Apparently back in February it became an official GNU project. So from the perspective of avoiding projects backed by either Linus Torvalds or Richard Stallman, Mercurial is a winner. They recently released version 1.3. Thoughts:

And I guess I shouldn't neglect to mention Darcs while I'm at it. But it's late and I really should be in bed, so I'll be laconic about it:

'Nuff said.

P.S. To be fair, you could do the Linux->Samba thing with hg if you wanted to. But it would at least require a --force to hg pull.

Matthew Loar
matthew@loar.name
Last spun 2009-11-25 from thread modified 2009-11-06