Re: [PATCH v3 0/4] history: add squash subcommand to fold a range
- From
D. Ben Knoble <ben.knoble@gmail.com>
- Date
- Jun 18, 2026, 21:23 UTC
- Message-ID
- <CALnO6CAeSbjJs9Cb+C7hukBBy2KW0x3cjLTz5WMnG-BuaA0DGg@mail.gmail.com>
- In-Reply-To
- <pull.2337.v3.git.git.1781810226.gitgitgadget@gmail.com>
On Thu, Jun 18, 2026 at 3:17 PM Harald Nordgren via GitGitGadget <gitgitgadget@gmail.com> wrote:
Show 16 quoted lines
> > Adds git history squash <revision-range> 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 > <revision-range> 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!
Show 10 quoted lines
> * 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