3 ms·
Git does hide the old commits as well. What git doesn't do is track which commits are replaced by which. So sharing mutable history and seeing how a commit evol
by aayjaychan 6y ago
Git does hide the old commits as well. What git doesn't do is track which commits are replaced by which. So sharing mutable history and seeing how a commit evolved over time requires more heuristic than necessary.
- BeetleB 6y agoI was under the impression that those individual commits eventually get lost (i.e. may be in the reflog or not sent to the server, etc). With Mercurial's evolve, the hidden commits are always there. When you push/clone, etc they get sent around.
- aayjaychan 6y agoYes, unreachable commits in Git are GC'd eventually, but you can disable it. In Mercurial, hidden changesets are kept locally indefinitely, but they are not exchanged; only their obsolescence makers are. So you always know the meta-history of a changeset, but not necessarily their original content.