From: D. Ben Knoble Date: Thu, 18 Jun 2026 21:23:37 GMT Subject: Re: [PATCH v3 0/4] history: add squash subcommand to fold a range Message-ID: In-Reply-To: On Thu, Jun 18, 2026 at 3:17 PM Harald Nordgren via GitGitGadget wrote: > > Adds git history squash to fold a range of commits into its > oldest one, reusing that commit's message and replaying any descendants on > top. > > Changes in v3: > > * Moved the feature out of git rebase and into a new git history squash > subcommand, per the list discussion. git rebase --squash > is dropped. > * Takes an arbitrary range (git history squash @~3.., git history squash > @~5..@~2), folding it into the oldest commit and replaying any > descendants on top. > * Implemented as a single tree operation rather than picking each commit, > so there are no repeated conflict stops (addresses Phillip's efficiency > point). I think I mentioned this, too, albeit indirectly. I'm not concerned about credit, though. Just excited to have this. Thanks! > * A merge inside the range is folded fine, only a range with more than one > base is rejected. > * --reedit-message seeds the editor with every folded-in message, not just > the oldest. > > Harald Nordgren (4): > history: extract helper for a commit's parent tree > history: give commit_tree_ext a message template > history: add squash subcommand to fold a range > history: re-edit a squash with every message