pko.ch

Reflections about reflection

There’s no silver bullet, but there’s a silver DSCM. And it’s quick.

Pre scriptum: This was dangling in my drafts forever. I just decided to post it as it is.

In this post: Why I use Mercurial (sometimes abbreviated as hg) but not Git, and why I like it.

One day, some moons ago, I watched a presentation with Linus on Git, and how it would forever change our life. He explained why it’s a must-use on a very big distributed team or/and at a personal level. I mostly agreed. I still thought this was just a clever hack to solve merge conflits on svn and keep changes controlled on a mental level. CVS is dead, SVN is not. For most small teams, SVN is just a shortcut for the common workflow one would do with git, except for one little thing: you commit locally, and publish as needed.

Mercurial, or any DSCM, is great for detaching the act of committing work (accepting it as a valid step towards a goal) from the act of publishing work (putting your modifications up for other parties).

I prefer Mercurial over Git for the polish and supporting the anti-”linus is god” movement. I really didn’t like the way I was told he dismissed the idea of using incremental logs. I’m not being an extremist, or i would use Codeville.

2 Responses to “There’s no silver bullet, but there’s a silver DSCM. And it’s quick.”

  1. Jakub Narębski Says:

    First, what do you mean by Linus “dismissing the idea of using incremental logs” (I guess you mean here the revlog-ng format used by Mercurial), and do you have any link/quite for that?

    Second, while I can agree that Mercurial has better documentation (but Git documentation has improved), and perhaps better UI (ditto), I think that Git has better base design, and that Mercurial seems simpler because it is simplified (see for example how tags and local named branches were stitched on to Mercurial).

  2. pkoch Says:

    Jakub Narębski:

    Maybe the video I referred has some mention to it, can’t really recall where i stumbled into that. I remember that someone said Mercurial started as a conceptual branch from Git exactly on that point. But that’s just what I remember. Your right, I should have backed up my claims.

    Mercurial has just the amount of complexity I’ve ever wanted. I’ve bettered my understanding of Git since I first wrote that post, and didn’t find any of its added functionality over Mercurial to ease my life. The less complexity I have to deal with, the better. Mercurial is more than enough for me.

Leave a Reply