4 ms·
I certainly recognized several Mercurial features and concepts in Sapling. For example, I use Mercurial’s absorb command [1] and was pleased to see it in Sapli
by alwillis 4y ago
I certainly recognized several Mercurial features and concepts in Sapling.
For example, I use Mercurial’s absorb command [1] and was pleased to see it in Sapling.
Overall this looks promising.
[1]: https://gregoryszorc.com/blog/2018/11/05/absorbing-commit-changes-in-mercurial-4.8/ https://gregoryszorc.com/blog/2018/11/05/absorbing-commit-ch...
- jordigh 4y agoAbsorb is fantastic and one of Jun Wu's (seen in this thread as quark12) best contributions to Mercurial. I want everyone to know about this tool, it's amazing. I had fun trying to come up with a name for the feature: https://lobste.rs/s/nws1uj/help_us_name_new_mercurial_feature https://lobste.rs/s/nws1uj/help_us_name_new_mercurial_featur...
- sweettea 4y agoAbsorb is amazing! Even if you don't take up Sapling, there's a 'git absorb' plugin which I have found absolutely invaluable: https://github.com/tummychow/git-absorb https://github.com/tummychow/git-absorb
- madsohm 4y agoJust learned about 'git absorb' couple of weeks ago and have used it every day since. Amazing tool.
- boredtofears 4y agoHoly crap that looks incredible. I can't wait to try this.
- hakre 4y agothanks for the reference, using `git-fixup` myself since years: https://github.com/keis/git-fixup https://github.com/keis/git-fixup Will try `git-absorb`.
- Too 4y agoIn git you do this like git commit --fixup hashtofix && git rebase -i --autosquash hashtofix^ Hard to discover and remember but once you do it usually works smoothly.
- jordigh 4y agoNo, the point is that you don't have to mention the hash at all, it's automatically deduced by diff context.
- raimue 4y agoThere is git-fixup, which provides the 'git fixup' command that makes suggestions to which commit the currently staged changes should be added. https://github.com/keis/git-fixup https://github.com/keis/git-fixup git-fixup will add fixup! commits, so it still needs the mentioned 'git rebase -i --autosquash' afterwards. Usually you do not even need to give it a specific commit if your branch is set to track an upstream branch.
- jordigh 4y agoStill not quite the same, because absorb splits up your working directory changes into all relevant commits, as deduced by diff context.
- hakre 4y agoStaged or unstaged? Sounds interesting, will give it a try. Thanks for the details.
- hakre 4y agoDipped into it. Staged changes, excluding renames. So git-fixup and git-absorb will now happily live together for the moment on my box. Made a good first impression, thanks again for the reference.
- mhw 4y ago
- fulafel 4y agoIt seems this is still based on changing history - Does hg have something to address the downsides of rebasing that are present in git? such as chilling effect on cooperation of branches (eg you don't dare touch or use remote branches which someone may use rebase on, and destruction of actual history for use in eg reconstructing a timeline of a bug and fix later found to be important).
- FerociousTimes 4y agoFor the uninitiated, hg, in this context, refers to Mercurial by the chemical symbol (Hg) for Mercury.
- jordigh 4y agoYes, hg has changeset evolution. A meta-history of editing propagates when you push rewritten commits. https://www.mercurial-scm.org/doc/evolution/ https://www.mercurial-scm.org/doc/evolution/