Mercurial is simply too good (2020)
Mercurial, a user-friendly version control system created as an alternative to git, offers intuitive commands and safeguards. Despite losing popularity, it sees a resurgence with companies like Facebook adopting it.
Read original articleMercurial, a version control system released in response to Linus Torvalds' git, was designed for simplicity and user-friendliness. Despite losing to git's complexity, Mercurial offers intuitive commands, powerful search capabilities, and built-in safeguards. Its design allowed for easy collaboration without the need for platforms like GitHub. However, the simplicity of Mercurial led to its decline in popularity compared to git-based platforms. Recently, there has been a resurgence of interest in Mercurial, with companies like Facebook using it for large repositories and efforts to improve its functionality through a rewrite. New hosting forges have emerged to support Mercurial. While Mercurial may not reach the same level of adoption as git, it remains a practical choice for those prioritizing functionality over complexity in version control systems.
Related
A Git story: Not so fun this time
Linus Torvalds faced challenges managing Linux kernel growth, leading to BitKeeper's development by Larry McVoy. Free BitKeeper use sparked mixed reactions, prompting Andrew Tridgell to create an open-source client in 2005, offering alternatives.
Sublime Merge
Sublime Merge, a Git client by Sublime Text creators, excels in speed, staging options, syntax highlighting, and conflict resolution. Users appreciate its efficiency, simplicity, and seamless GUI to command line transitions.
Jujutsu: A Next Generation Replacement for Git
Jujutsu, an experimental version control system by Martin von Zweigbergk, offers Git compatibility, simplified commits, effective conflict handling, and features like automatic rebasing. Despite being in active development with some limitations, it shows promise for revolutionizing version control.
"GitHub" Is Starting to Feel Like Legacy Software
GitHub faces criticism for performance decline and feature issues like blame view rendering large files. Users find navigation challenging and core features neglected despite modernization efforts. Users consider exploring alternative platforms.
Wikimedia Gitlab Migration Status
The Wikimedia movement supports Gerrit and GitLab for code hosting to reduce change fatigue. Challenges arose during migration to GitLab due to missing features, leading to the recommendation to keep deeply connected repositories on Gerrit.
Why would Git require "something like github" to work? You can just initialize a repository and give people access via SSH. Done. There's no need to even run a Git specific server.
https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-...
> So now we are all stuck with three options: git (github), git (gitlab), and git (bitbucket). Good job, mercurial. You beat git so well, you kicked yourself out the fight.
Bitbucket supported Mercurial for a long time but the support was eventually removed because nobody was using it.
https://bitbucket.org/blog/sunsetting-mercurial-support-in-b...
On the other hand, Mercurial's model of the world is IMO fundamentally quite a bit worse than git's. Revision _numbers_ are obnoxious and add negative value. Mercurial's concept of branching is just plain wrong. Mercurial's mq extension is spiffy, but it's far more tedious to use than git rebase -i. Stripping mercurial repositories is a bit scary, and it solves a problem that git never had in the first place.
I wouldn't fault anyone for liking Mercurial, but it definitely isn't better than Git except in giving a superficially better impression in its user interface. Once you get past initial impressions and start to do more advanced things, Mercurial sucks. There's good reasons why Mercurial fell out of favor.
Before anyone tries to say Facebook uses Mercurial, I'm just gonna point out that their VCS seems to be an entirely different implementation of Mercurial compared to what is available publicly. And even then, the tech lead on that has said recently that they have performance problems to solve. I doubt if they ever will solve those problems because they are inherent to Mercurial's implementation. Fixing it would break compatibility with old repos, and take a hell of a lot of work.
I love Mercurial, but I'm not sure if it's straightforward to figure out how verbs "revert", "rollback", and "backout" differ. But, when you get used to it, it's good, yes. Much easier to learn than git reset --hard HEAD^!@#$ at least.
I'm not sure I follow the argument here. The tool removes the need to spend money. So people didn't use it because they needed to spend money?
In addition the different kinds of branches are confusing. Once you understand git branches they're simple. Once you understand Mercurial branches you understand just one of the branching models it offers. I believe "bookmarks" are the most similar to git branches, but good luck finding out about them from the website without already knowing they exist. Instead it tells you all about keeping around a bunch of copies of the source tree.
I used Mercurial for a while when I was still also learning Git and migrating from SVN. It had serious UX problems and Git just "clicked" for me in a way that Mercurial just never did.
Perhaps I just wasn't smart enough to see the genius of Mercurial.
From all the projects I know, rewriting one in Rust always turned out to be a wrong move, unfortunately.
Related
A Git story: Not so fun this time
Linus Torvalds faced challenges managing Linux kernel growth, leading to BitKeeper's development by Larry McVoy. Free BitKeeper use sparked mixed reactions, prompting Andrew Tridgell to create an open-source client in 2005, offering alternatives.
Sublime Merge
Sublime Merge, a Git client by Sublime Text creators, excels in speed, staging options, syntax highlighting, and conflict resolution. Users appreciate its efficiency, simplicity, and seamless GUI to command line transitions.
Jujutsu: A Next Generation Replacement for Git
Jujutsu, an experimental version control system by Martin von Zweigbergk, offers Git compatibility, simplified commits, effective conflict handling, and features like automatic rebasing. Despite being in active development with some limitations, it shows promise for revolutionizing version control.
"GitHub" Is Starting to Feel Like Legacy Software
GitHub faces criticism for performance decline and feature issues like blame view rendering large files. Users find navigation challenging and core features neglected despite modernization efforts. Users consider exploring alternative platforms.
Wikimedia Gitlab Migration Status
The Wikimedia movement supports Gerrit and GitLab for code hosting to reduce change fatigue. Challenges arose during migration to GitLab due to missing features, leading to the recommendation to keep deeply connected repositories on Gerrit.