Subject: Re: Show skipped commit message after rebase conflict?

From: Junio C Hamano <[email-masked]>
Date: Fri, 25 Jul 2025 08:24:49 -0700

Phillip Wood <[email-masked]> writes:

> probably a good place to issue such a message but we'd want to check
> whether rebase_path_message() exists before printing the message. I

Ah, such a test intuitively feels correct.  We are not creating a
commit, yet, we have message from the iteration being polished to
use when we do create one, which is about to be lost.  The user
deserves to be notified of the lossage.

> think we could also read REBASE_HEAD to find out which commit we're
> skipping if we wanted to make the message a bit more informative.
>
> It would mean that "rebase --skip" also prints this warning but I
> think that is sensible if we're doing it for "rebase --continue" after
> removing all the uncommitted changes from the worktree.

Would --skip even pass this spot in the code by calling
commit_staged_changes()?

I am not intimately familiar with the way how the sequencer code is
organized, and am navigating largely by guesses on names of
functions and variables (iow, I didn't check).

Thanks.

>
> Thanks
>
> Phillip
>
>> I'll pick a few people from
>>      git shortlog --since=2.years --no-merges sequencer.c
>> based on their contribution to the file (not counting the internal
>> implementation changes) and Cc them to see if they have ideas.
>> Thanks.
>>   sequencer.c | 2 ++
>>   1 file changed, 2 insertions(+)
>> diff --git c/sequencer.c w/sequencer.c
>> index 67e4310edc..677d6105dd 100644
>> --- c/sequencer.c
>> +++ w/sequencer.c
>> @@ -5369,6 +5369,8 @@ static int commit_staged_changes(struct repository *r,
>>   			goto out;
>>   		}
>>   +		warning(_("omitting a step that has become empty"));
>> +
>>   		if (!final_fixup) {
>>   			ret = 0;
>>   			goto out;
>>