Gits won

One consequence of the NULL historical memory our trade has is that we get to see Worse is Better replayed from time to time. I’ve seen it on languages, editors, kernels, windowing systems…

This time it’s distributed version control systems, with discussions flaring up the Internet to decide which shall be The One DVCS to Rule Them All. And, once again, no surprises. The fast has won over the flexible, the cool has triumphed over the supportive, the macho has destroyed the elegant: Git‘s won and Bazaar‘s lost. Nothing new here, move along…

Wait a moment, though, as I’d like to make some suggestions to the major players in this epic battle that will not go into the programming annals, but only because we have none.

Git developers: Congratulations! You have created a good tool which, when you buy into its process, works superbly and –has anyone commented on this before?– it’s incredibly fast. Just be aware that not everyone works on the Linux kernel, and supporting different workflows is clearly an area of improvement.

Git supporters: You’ve won a battle, but not the war, and there’s much work to be done yet. Do not tolerate people using other tools, specially if they are constrained by their employers or customers. Keep proselytizing, in every venue, with your chants of “Faster, faster!”, because you know that’s the argument that always wins, that completely trumps any other. It’s also a good way of passing time until the next battle, because the world is imperfect and there will always be other people, other projects to ridicule.

Bazaar developers: You made something better, and you should have known that’s, unfortunately, worse. But your ideas can still be useful. That great plugin you wrote? Reimplement it for git, using a mix of bash scripts, Perl and C. It should take you three to ten times longer, but now you know your cycles are worth a lot less than your CPU’s.

Bazaar supporters: Yes, all three of you. Sorry, but there’s no prize for fair play, if that was what you were aiming for. Learn Git, it’s not as difficult as it’s said to be, and you’re intelligent people. Welcome to the Better is Worse corner of the world, there’s lots of interesting (but sometimes smug) people here and you get to say “That’s been done before, and better” a lot.

Other DVCS devs and supporters: Yes, I know you exist and are used in some project and each one of you is like a precious flower, unique with its pros and cons. But Git and Bazaar are the two extremes here, so apply one side or the other depending on whether you think your tool of choice has won or lost.

Everybody: Use a DVCS, it’s a clear improvement over previous tools. Also, read Worse is Better (extended version). And remember it next time around, please.

One response on “Gits won

  1. Jakub Narębski

    Performance _does_ matter, if one tools takes minutes and the other subsecond; it matters even if for one tool it takes seconds and for other fraction of second.

    As to “Worse is Better”: in Junio’s addendum to FLOSS Weekly about git, he wrote that multiple branches in single repository was not something that was in initial git design. Yet git design was flexible enough to allow it. I think that git support for multiple branches in single repository is superior to other version control tools: Bazaar-NG and Mercurial.

Leave a Reply

Your email address will not be published. Required fields are marked *