News for hackers. Stuff that matters.
Re:Firefox Development Is Moving from Mercurial to Git by bayindirh on Tuesday November 07, 2023 @04:06AM (#38174739)
Both Git and Mercurial works on graphs and use very similar structures, however how Mercurial uses this is mentally overloading, while it's very trivial for a computer to handle these.

Mercurial labels everything on the graph. Multiple heads. many branches, a working copy, a tip. Manual merges, mandatory merge revisions, oh my...

Very neat for enabling collaboration, very easy for a computer to handle, very simple to implement, but very hard to process for a human. Also very hard to follow provenance.

How we came here? X merges, Y branches, Z commits, a curvy journey through the graph. An unbounded art which needs time to grasp.

Git is simpler. Divergences are branches. You add commits at the top of that branch. The place you're looking is the head. Simple, more stupid, a more clunky approach which enables many more things.

How we did come here? Branched at X, added n commits, Y merged along the way, m more commits and ta da. Who added these commits and when? A on Monday, B on the weekend. D merged their work on next Tuesday, and I did mine on today at 10.

Want to chop of specific parts off? Possible. Fork from a branch? Possible. These are things mentally easier to visualize. Mercurial can do these too, but it's more work, more mental effort and more complex to visualize.

Mercurial might be a better DVCS for nerds, but Git keeps is simple as possible and gets the job done well. This is why many people prefer it, incl. me.

Fossil is also a good idea with very high mental load. An idea which is searching for a problem, but I digress...

Re:Firefox Development Is Moving from Mercurial to Git by tatersolid on Tuesday November 07, 2023 @09:44AM (#38177297)
> Git keeps is simple as possible

Of all the adjectives used to describe Git, “simple” seems to me the least appropriate.

Yes, the internal Git implementation is a “simple” DAG of content hashes, but the rest of the plumbing leaks so badly into user space you can’t begin to call using Git “simple”.

Re:Firefox Development Is Moving from Mercurial to Git by bayindirh on Tuesday November 07, 2023 @02:07PM (#38181309)
The usage of Git is not simple for the beginners or advanced scenarios. Even Linus accepts this, and this is why Git is named Git [0].

However, the mental model required by Git is much simpler than Mercurial, or at least designed to be presentable in a much simpler manner, and this counts for many folks, even if these people can work with much more complex mental models.

At the end of the day, our attention span and power is limited.

[0]: https://en.wikipedia.org/wiki/Git#Naming