From: Thomas Bachem Date: Tue, 22 Sep 2026 07:38:10 GMT Subject: Re: [PATCH v4 2/3] rebase, cherry-pick, revert: run auto maintenance when done Message-ID: In-Reply-To: Hi Patrick, On 11/09/2026 09:34, Patrick Steinhardt wrote: > The only exception that I could spot is when we abort the sequencer. But > I'd rather have us call auto-maintenance when `pick_commits()` is done > and when we abort rather than having every user of the sequencer do it > manually. > > Or am I missing something here? The single picks. "git cherry-pick " and "git revert " return from sequencer_pick_revisions() through single_pick(). Their "--continue" returns from sequencer_continue() through continue_single_pick() when there is no todo file, and their "--skip" from sequencer_skip() when there is no sequencer directory. None of the three reaches pick_commits(). The paragraph you proposed for 2/3 says it too: > Unfortunately, there is no single exit point for this backend where we > could add a call to `run_auto_maintenance()`. While one might expect > that we could simply trigger auto-maintenance in `pick_commits()` and > call it a day, a single pick as it is performed by e.g. git-revert(1) > never executes that function. So instead, manually trigger > auto-maintenance at several sites. 2/3 in v5 names those three returns. My answer went out under the 1/3 subject by mistake [1]. Phillip's answer when I offered the move [2]: > That works for we and means we don't have to sprinkle calls to > run_auto_maintenance() around to accommodate the different code paths > for single and multiple picks. So inside the sequencer the call would go to the end of pick_commits(), to those three returns, and to the aborts. "git rebase --abort" already runs it from finish_rebase(), so that leaves the cherry-pick and revert aborts. The two builtins are the sequencer's only callers, which is why I moved it there. Both work for me, say which and I'll reroll. Thanks, Thomas [1] [2] <1e9f7b72-9f77-46e9-950e-df60b5a0539f@gmail.com>