Live data from Hacker News

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

fosdem.org

261–263 of 263 posts

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

#261
post #130

Earlier quoted context omitted.

Is git really far worse technology than mercurial? I’ve used both for years and to be honest they are pretty similar. What important capabilities does hg have that git does not? Maybe you can argue that hg is more ergonomic, but that’s just polish it doesn’t mean the tech is far better…

If you think about how much investment has gone into Git, whereas Mercurial has really been developed by a skeleton team, even the fact that they’re similar is indicative that Mercurial may have been better at its core. I haven’t touched mercurial in like 15 years, and from what I remember its UX was superior to what Git provides today. It had an extension system which I don’t remember the full capabilities of so I d…

Git doesn't have an extension system because it works differently from Mercurial in that regard.

Mercurial is more monolithic, and is based on python, writing an extension means writing a bit of python and telling Mercurial to integrate it.

Git is more like a loosely connected collection of commands working on the filesystem. It means that extending git is just creating an executable with a particular name in a particular directory. The executable can in turn call other commands, in particular the low level "plumbing", or even work directly with the files in .git.

They way they are similar is that they follow the same model: a decentralized system based on a DAG. And speaking of a "skeleton team", git was famously Linus Torvalds 2-week side project, and even though so much development has happened, providing tooling, convenience, performance, portability, etc... at its core, it never changed.

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

#262

Earlier quoted context omitted.

The reason jujutsu doesn't have staging is that staging is incompatible with concurrency. The UX is a happy coincidence.

In discussions with people who made jj, it deliberately does not have Git’s staging area / index as a core concept because that was confusing for users.

Not solely because it’s confusing, but because it’s a more powerful and orthogonal design. The usability stuff matters too, but it’s not one or the other.

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

#263

Earlier quoted context omitted.

I never got the idea from git itself that changing history is encouraged. What makes you say otherwise?

git rebase Is a widely accepted command as a daily part of a development workflow. This command rewrites history.

Its mere availability is not "encouragement."
Post reply on HN