Git or hg?

That is the question. Although I’d previously committed, at least to myself, to finally make the switch from cvs to hg, I’m now having second thoughts.

For most, the first version control system was not a choice but a necessity forced on by an employer, a client or the alignment of the stars.

That second system is more often than not something freely chosen, after much study and deliberation.

In my case plain vanilla cvs was the first versioning system I used, mostly because it was so simple even I could learn how to use it. For 10 years. Now, after all that time, changes in the way I work demand something a bit more sophisticated but without a dangerously steep learning curve.

A trusted colleague and friend first recommended hg to me over a year ago. I found this thoughtful article from back in 2009, Git vs. Mercurial, that seemed to make a good case for hg. The author described git as like MacGyver, and hg like James Bond.

Although the author clearly favored hg, he did point its one great flaw was that “deleting named branches is unbelievably difficult”. Or impossible. Really? I think I’m going to be sick.

Then there’s this little disclaimer, “Though I’ve never tried to integrate Mercurial’s functionality into my own projects…”

But this really got my attention:

Git is perfect for command-line wizards, people with large teams and complicated projects, and those who need their DVCS to be endlessly configurable. Certain developers have a workflow which, when interrupted, causes much grief and lamentation…

You see, over the years my work has increasingly put me more into the above-described category than those who “are constantly experimenting with new ways to work and write code” and like software that “feels Mac-like”.

And I’m really more like MacGyver than Bond, except not as smart. Or cool. Or good-looking.

Then there’s this more cogent argument for git, Why git?, leads off with “Better history, less fear”.

I could really learn to like living with less fear.

So I guess I really need to look at git too.

It’s going to be a long holiday vacation.