Subject: Re: [PATCH 1/2] rebase -i: respect commit.cleanup when picking fixups

From: Junio C Hamano <[email-masked]>
Date: Thu, 18 Sep 2025 08:29:06 -0700

Phillip Wood <[email-masked]> writes:

> ... The cause of that
> bug was that before f7d42ceec52 the sequencer passed CLEANUP_MSG
> when committing the final fixup. That commit should have simply
> removed the CLEANUP_MSG flag, not changed it to VERBATIM_MSG. Using
> VERBATIM_MSG ignores the user's commit.cleanup config when committing
> the final fixup which means it behaves differently to an ordinary
> "pick" command which respects commit.cleanup.

So cleanly analysed and clearly described. 

> diff --git a/sequencer.c b/sequencer.c
> index 9ae40a91b24..47c57c2ea3c 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -2436,7 +2436,6 @@ static int do_pick_commit(struct repository *r,
>  		if (!final_fixup)
>  			msg_file = rebase_path_squash_msg();
>  		else if (file_exists(rebase_path_fixup_msg())) {
> -			flags |= VERBATIM_MSG;
>  			msg_file = rebase_path_fixup_msg();
>  		} else {
>  			const char *dest = git_path_squash_msg(r);

And this is the location the earlier commit replaced the code that
sets CLEANUP_MSG, which matches the fix described in the proposed
log message.  Makes sense.

The commit at the source of the bug is what introduced VERBATIM_MSG,
and I think it can be removed (this was the only place it was set).

And you removed it in a separate step ;-).  Well done.

Thanks.