- Facebook does not use Git due to scale issues with their large monorepo, instead opting for Mercurial.
- Mercurial may be a better option for large monorepos, but Git has made improvements to support them better.
- Despite some drawbacks, Git usage remains dominant with 93.87% share, due to familiarity, additional tools, and industry trends.
I suspect rebasing makes sequential commit IDs not really work in practice.
Rebasing updates the commit ids. It’s fine. Commit IDs are only local anyway.
One thing that makes mercurial better for rebase based flows is obsolescence markers. The old version of the commits still exist after a rebases and are marked as being made obsolete by the new commits. This means somebody you’ve shared those old commits with isn’t left in hyperspace when they fetch your new commits. There’s history about what happened being shared.
Whay do you mean by that?
That’s exactly the same in
git
. The old commits are still there, they just don’t show up ingit log
because nothing points to them.Old, unreachable commits will be garbage collected.
Does that not happen with Mercurial? If not that seems like a point against it.
I’m confused, the behavior you just said was “exactly the same in git” is now a problem for Mercurial?