Re: [PATCH v8 0/5] history: add squash subcommand to fold a range
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 14, 2026, 18:41 UTC
- Message-ID
- <xmqqzezts9an.fsf@gitster.g>
- In-Reply-To
- <0ECE2A94-0537-42E0-A525-FA16184D7735@gmail.com>
Ben Knoble <ben.knoble@gmail.com> writes:
Show 9 quoted lines
>> Thanks for the work on this topic! > > Ditto! I suspect that using a combination of « git history squash > » and « git replay » to emulate « git rebase » in non-interactive > autosquash mode will be much faster, too, due to the differences > in implementation. If that proves to be the case and we can safely > do so with feature compatibility, I wonder if it will be worth > making the non-interactive autosquash rebase actually delegate > through a history squash + replay.
Yes, that would be an ideal future, and these efforts move us in that direction.
Show 5 quoted lines
> I’m sure there’s a few instances that couldn’t be done (for > example when the special! commits cross the current range and > upstream; that is, a fixup! for an upstream commit or some such > oddity;; there are also conflicts to consider), but in the cases > it can be it ought to be a performance win.
Since you assume "we can safely do so with feature compatibility" above, once we are finished, there will, by definition, be no such "special" commits that the combination cannot handle. By the time that happens, we will have replaced the internals of "rebase [-i]" with a new implementation that does not need to touch the working tree.
That would indeed be an exciting future.