Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Both Mercurial and Git were created as a replacement for the same program and to solve the same problem which you can read about in Martin Beckett's answer to How did Git and Mercurial develop so similarly at the same time? question.

These two tools are very similar and borrow from each other according to Scott Chacon in his Hg and Git: Can't we all just get along? presentation at PyCon 2010.

I think we, the people, do waste huge amount of resources by having these two tools which do the same, yet operate differently. Is it possible to unify Mercurial and Git and stop wasting our resources? What actions should be taken?

share|improve this question

closed as not constructive by Vitor, Mark Trapp Oct 17 '11 at 21:12

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Obligatory XKCD reference: xkcd.com/927. You're not going to convince all Mercurial fans to switch to Git, you're not going to convince all Git fans to switch to Mercurial, and you're sure as hell not going to convince both groups to abandon their respective choices and switch to a new-fangled "unified" DVCS. –  delnan Oct 17 '11 at 18:48
@delnan You don't have to convince all. You need to build up momentum. Have you noticed how I didn't include any other DCVS and there are a few? So we are already down to 2 from 14 :) Now we need to merge these two into one. –  Piotr Dobrogost Oct 17 '11 at 18:58
If you don't convince all (or nearly all) to switch to a new project, you get exactly what the xkcd comic shows - from N ways of doing things to N + 1 ways. Then you didn't unify anything but divided the DVCS landscape even further (leading, by your premise, to more resources being wasted). And even convinving half of the user base seems impossible - both projects have a huge monumentum on their own. The problem is less so if you want to pick either Git or Mercurial and make everyone switch to it, but that's still bound to fail considerung the zealous fanboys both have. –  delnan Oct 17 '11 at 18:59
Hi Piotr Dobrogost, "calls to action" like this aren't on-topic here: we're not a discussion board. If you have a specific problem you're facing that's prompted you to think about ways to merge Git and Hg, feel free to ask about that instead. –  user8 Oct 17 '11 at 21:13
By this measure you should close half of the questions on this site as well. This attitude to general questions brings Josef Stalin's proverb One death is a tragedy; a million deaths is a statistic. to mind. –  Piotr Dobrogost Oct 17 '11 at 21:47
show 1 more comment

2 Answers

The problem with Git as summarized by Joel Spolsky is that Linus Torvalds refuses to add any features to Git that would benefit Windows. So you'd get less traction with Windows guys if you merge toward the Git arm. And Torvalds evidently doesn't want to support Windows stuff so merging toward Mercurial wouldn't work either. So what do we do? Meet in the middle? How and where?

share|improve this answer
add comment

You'd have a lot more of a chance if they weren't so similar. No one is screaming out for a combination. This is the first time I've heard an argument that the existence of two products wastes anything and you haven't provided evidence of that.

The only successful open-source merges I can think of off the top of my head are Rails with Merb and Selenium with WebDriver. In both cases, this was because the two products solved very different problems and people were crying out for a product that solved both.

share|improve this answer
This is the first time I've heard an argument that the existence of two products wastes anything and you haven't provided evidence of that. I thought it's self evident. What about all these questions How do I do in B what I already do in A like this?? People already know how to do something but are forced to learn how to do the same thing differently. It's pure waste of time and energy. How about time wasted on integration of projects and systems, half of which use Mercurial and the second half use Git? –  Piotr Dobrogost Oct 17 '11 at 21:30
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.