logoalt Hacker News

Mercurial, 20 years and counting: how are we still alive and kicking? [video]

176 pointsby ibobevlast Friday at 11:39 AM176 commentsview on HN

Comments

PathOfEclipseyesterday at 7:17 PM

Almost 20 years ago I helped our company choose between Git and Mercurial as the replacement for Subversion. Unfortunately, I helped them make the wrong choice, Mercurial.

I say wrong because clearly Git won the war and I haven't used Mercurial since then. However, I still think I made the right choice from a technical perspective; I thought Mercurial was way more user-friendly while providing all the features and performance needed. But I guess I couldn't read the future in terms of which one would win out!

show 14 replies
jedbergyesterday at 11:09 PM

We used Mercurial at reddit. We switched to it shortly after switching to Python as our main language, figuring it would be easier to use the one written in Python.

We used Mercurial until the day we went open source. We actually preferred it, but we knew at that point that "everyone" used Git, and we would never be seen as serious or get user contributions unless we switched. That was back in 2008. [0]

We actually self hosted a ticketing system[1] and our own git repo, but since the system we used didn't have pull requests, we had to use the old school method of sending us a patch via mailing list using the git-send-email command, the same way the linux kernel did it.

The best part of this is that we had a launch party for open sourcing in San Francisco. The date of the party was chosen a few months in advance, because it takes that long to plan something in physical meat space. This was basically the first time reddit ever had a hard deadline to get something done.

I was primarily responsible for setting up the ticketing system and code repo, and at the same time, we were switching our actual servers to pull from our public code repo for deployment, for true transparency (and I had to set all that up too).

I actually had to do the final setup to make everything public sitting at the bar at the venue with my laptop about five minutes before we opened the doors. At the time, I had about a week of experience with git! And here I was, operating what was expected to be a very popular open repo that anyone could clone from. Good times.

[0] https://web.archive.org/web/20080619043654/http://blog.reddi...

[1] https://web.archive.org/web/20080622134154/http://code.reddi...

t43562yesterday at 9:02 PM

Mercurial was safer and better. I still use it and it's still safer.

The bookmarks feature which is supposed to be the solution for short-lived branches is hard to understand though. I'm probably dumb but I can't work it out and hence the overall tool is that much less useful.

It needs a github-like website and Heptapod would be great if I could use it - I've set up a project, been unable to do anything and then had it all closed down. OTOH self-hosting is a lot more feasible nowadays with today's fibre connections.

show 1 reply
macro-byesterday at 6:23 PM

At my previous big tech employer we used to have a mercurial layer on top of our legacy version control system. I loved it, much simpler and more clear than the typical workflows I have to deal with in git. I get it that with git you have more power, but do really most teams need that?

show 3 replies
BeetleByesterday at 9:41 PM

I always preferred Mercurial to Git, but now that Jujutsu is out there, I think Mercurial's demise is all but guaranteed.

If there were a reliable way to use Mercurial on a Git repository, it could live. But why bother when one can use Jujutsu?

show 1 reply
TLLtchvL8KZyesterday at 8:21 PM

I haven't used hg in years now, bitbucket discontinuing support is what killed it for me and I had no interest in self hosting.

My git usage is very basic, my gitconfig has been pretty much untouched for years but on those occasions where I get stuck or hit something I end up searching and usually get through a bunch of posts/comments/sites and wish I was using hg.

idankyesterday at 7:22 PM

Anyone know what Matt Mackall is up to these days? He started Mercurial and got people involved early on with a lot of enthusiasm, you could tell he cared about what he created and the people who joined him ("hg crew"). I learned a lot from him on how to think like an engineer and saw him manage different personalities in the project in a kind and sincere way (I think this was around ~2010).

show 2 replies
Zopieuxyesterday at 8:44 PM

I sincerely hope jj gets the recognition it deserves in coming years.

zabzonkyesterday at 6:59 PM

I loved Mercurial - still do I guess as I just installed it on the Linux Mint VM I keep around for messing with Linux. The thing I really liked about it was TortoiseHg, which provides integration between Mercurial and Windows Explorer. There is a similar TortoiseGit but, at least back when I was doing serious development, it had quite a few problems.

show 1 reply
eeeficustoday at 4:44 AM

Unpopular opinion: Git is better than Mercurial and people just make a big fuss when you refuse to play with their toys!

mnahkiesyesterday at 9:37 PM

My first full time job after university was using hg, and particularly https://tortoisehg.bitbucket.io/ made it really pleasant.

Prior and post that I'd always used git but I'll always have a bit of a soft spot for mercurial, especially as our forge usage at the time predated strict guardrails and controls - we did code review, but it was your responsibility to tag the appropriate people and wait for them to respond, if you felt it was necessary to merge prior to that you could - but better be ready to defend that decision.

qa3-techyesterday at 10:13 PM

Glad it is still around. hg was the better experience as it had fewer command surface. But slower, and sometimes you need the extra detail commands to analyze the history.

sreanyesterday at 6:16 PM

I am glad the Hginit is back https://hginit.github.io/index.html

Not sure why it has to disappear in the first place.

What's going on with hginit.com now ?

SonnyTarktoday at 12:09 AM

I hung on to hg all the way until bitbucket forced migration to git. I still dislike git, but I dislike perforce much more.

I guess I just wanted to say I hate perforce lol

chiphyesterday at 7:25 PM

I just installed it on a Raspberry Pi (with an otherwise too-small-for-any-other purpose SSD) for use at home. I wanted something with low power consumption, and I didn't want to have a single point of failure by running it in a container alongside everything else.

The only hiccup was forgetting that when pushing via the SSH connection, it will have paths relative to the home directory of my hg user.

ssttooyesterday at 7:47 PM

IIRC Facebook switched to HG from SVN in the 2010s, one (main?) motivator being that the single repo was getting too big and svn’s only way was to start splitting it up. Which was against the philosophy of openness of the single repo. No idea what’s Meta doing now.

show 1 reply
forrestthewoodsyesterday at 9:20 PM

Mercurial is just better than Git. But GitHub won and so Git won.

kgk9000yesterday at 10:32 PM

Git likely won because of GitHub; I abandoned Mercurial quite early when it was clear that it had lost. It was good, but I cannot imagine using it today.

rileymat2yesterday at 8:18 PM

In my time with it, about ~20 years ago, it had a lot of nice features for instance hg came with a web server/interface out of the box.

show 1 reply
bombcaryesterday at 11:27 PM

I still wish bzr had had a better showing.

jmoleyesterday at 8:25 PM

hg (fig) was definitely my favorite frontend for source control at google.

7etoday at 12:40 AM

Mercurial is so, so slow. It is painful to use.

throwatdem12311yesterday at 11:55 PM

How is the rust rewrite going?

irishcoffeetoday at 1:13 AM

I should write a whole article about this.

Hg is a superior tool compared to git. It logically just clicks, for everyone. Changesets, branching, merging, tagging, it all just works.

Git is this arcane blob of whatever-you-call-it where rewriting/erasing history is not only allowed, its encouraged. That is insane to me.

Git is a fine tool, it is in every possible way inferior to hg.

jgalt212yesterday at 9:37 PM

Our shop uses Mercurial, and I hop we never move to Git, but I do see us eventually moving to whatever is next.

QuadrupleAyesterday at 9:07 PM

[dead]

holodukeyesterday at 10:09 PM

Just a bit off topic. But is anyone still using git or whatever versioning in the traditional way? I hardly see myself using the git command these days. Everything I handled by Claude. From pulling to pushing to solve merge conflicts and more. In a way it doesn't matter anymore whether it's git or something else.

5aasj3tyesterday at 6:59 PM

Mercurial was the only Python application that worked, so van Rossum and crew did not like it and had to move to git and then GitHub (Ruby).

Python developers, especially core are used to perpetually broken software and don't like stuff that just works. As long as the software is in Python - C (git) and Ruby (websites that used to work at that time) are fine.

show 1 reply