From: Phillip Wood Date: Mon, 26 Oct 2026 10:58:44 GMT Subject: Re: [PATCH] sequencer: refuse to revert shallow boundary commits by default Message-ID: <235e7dcd-2d29-47e4-b68f-9b02f80085dd@gmail.com> In-Reply-To: On 21/10/2026 20:11, Junio C Hamano wrote: > Phillip Wood writes: >> On 21/10/2026 11:09, Nakul V S via GitGitGadget wrote: >> >> Thanks for working on this, it is a useful and timely improvement as >> there was some discussion about improving the behavior of git with >> regard to shallow boundaries at the recent git merge conference. I >> wonder if it would be better to refuse to cherry-pick and rebase a >> shallow boundary commit as well. Do you know of a sensible use for >> reverting a shallow boundary or is the new option added out of caution >> in case someone wants it? > > Very good point. > > The next natural question is where the modification should go if we > want to make sure we protect these shallow boundaries not just from > revert but also from "cherry-pick", "rebase", and possibly "commit > --amend". Is sequencer.c:do_pick_commit() the right place to cover > all of them? If not, would it make sense to have a helper function > that different code paths to protect shallow boundaries from these > operations can call, and add the first call to that helper funcion > to the location this patch adds new code to? From the user's point of view, I think do_pick_commit() is a bit late to error out. It would be nicer to refuse to add a shallow commit to the todo list in the first place which means we'd need a helper function that's called from sequencer_make_script(), make_script_with_merges(), single_pick() and sequencer_pick_revisions(). That is a bit of a pain but would make for a better UI. Thanks Phillip