The legend has it that git folks didn't want to help scale mega monorepo support way back while hg folks did. Subsequently, Microsoft hired a git person who did add this functionality later such that modern git would work fine today.
For me, I keep branching super simple, but that was the big one for people. Git branching was far superior to mercurial.
So the major mercurial hosts (especially bucket) decided that it wasn't worth supporting even for their existing users. That was the mail in Mercurial's coffin. Google also decided to shut down their Google Code.
Git's appeal is that it is more flexible and has every feature you might want, allowing people to do whatever they wish whether it's pretty or not. As long as it works, people can look past the ergonomics. GUIs and AI shield most people from the UI.
The free plan made GitHub popula, not git
I believe that GitHub free for public only repo model is the reason why we have a lot of pet projects published, most of which were not really intended to be published to begin with.
References:
0: https://hg-edge.mozilla.org/
1: https://groups.google.com/a/mozilla.org/g/firefox-dev/c/Qnfy...
According to the top comment, hg is synced from git (rather than the other way around), and they basically finished the migration AFAIK, with some compatibility/legacy hg stuff for the time being.
In 2010 or so we tried to adopt Mercurial at the small company I worked at, but the support for Git was just so much better - even back then. Git's popularity meant that tooling, documentation, and general ease of finding people to ask questions was 100x easier with Git, so we switched. I'd imagine the same thing played out many times over.
A few FAANGs did and still use Mercurial, but they're on their own islands and don't really affect the wider tech ecosystem.
I think it is also worth pointing out: Mercurial also got bit by a lot of Anti-Python sentiment from very early on (laughingly, from some number of the same developers that didn't seem to mind how much git included a spaghetti mess of Perl and Bash scripts). The timing of the Python 2 -> 3 transition and the debacle that especially ensued as the various Linux distros made a particular dog's breakfast out of some of it also created additional or new Anti-Python sentiment among would be source control users.
2. Source control was and is an expanding market. Beginners don't have the experience to make informed decisions about ergonomics and other nuances. More or less the features of git vs mercurial don't matter when a person adopts source control for the first time.
3. Ecosystems trump ergonomics...e.g. github. So does branding...i.e. the software Torvaldes wrote. And if I could make a bet, I'd bet Torvaldes writes software about as good as anyone on the Mercurial team, if not better.
Mercurial and “ergonomics” are not too words often uttered in the same sentence.
But I think the biggest reason mercurial did not do well was because the viral network was not there.
If hg wants to still be relevant, it should copy all of git’s commands and features and then supplement it with native features.
gjvc•20h ago