Hacker News new | ask | show | jobs
by somnium_sn 1314 days ago
It stems from the original Mercurial implementation. The goal here is that every operation leaves the repository in a good state that can be pushed/pulled. That's why Mercurial and Sapling rely on commit/amend/uncommit, etc and for example usually discourage the use of interactive rebasing in favor of restack and other operations that add another "state". It facilitates the mental model for developers without actually removing workflows (they are just different).
1 comments

As I understand it restacking is rebasing no?
Yup, it's automatic rebase of a commit on top of the newer (amended) version of its parent.