I know other version control software exists, but does anyone use it? Why? What are the differences? All I’ve ever actually seen people use is git.

  • There is only one alternative for distributed version control, Mercurial. Everything else is significantly inferior, except maybe for special cases. Mercurial may be fine for newcomers to step in, but probably at some point the flexibility of Git will be missed. And because of so many people using Git there are more solutions to specific problems.

    • Mercurial used to be fairly popular around the time when people were still migrating away from Subversion. Mercurial support used to be Bitbucket’s differentiating feature, but apparently they dropped support a few years ago. That’s not a great sign for current popularity.

      IIRC Mercurial doesn’t support “lightweight” branches - if you wanted to create a branch you had to create a new repo clone. I think there was some rebasing-type stuff that you just couldn’t do. There are some ways it is simpler than git; but I found the Mercurial workflow quite confusing.

      There was also Darcs which used a “theory of patches” that could merge without conflicts in some situations other systems couldn’t. In exchange it eschewed the idea that every clone would see history in the same order. It didn’t catch on because it turned out that its merge algorithm would get really slow in not-so-uncommon situations.