git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: What did you do before the bug happened? (Steps to reproduce your issue)

From
SZEDER Gábor <szeder.dev@gmail.com>
Date
Dec 1, 2020, 00:19 UTC
Message-ID
<20201201001918.GG8396@szeder.dev>
In-Reply-To
<CANVGpwZGbzYLMeMze64e_OU9p3bjyEgzC5thmNBr6LttBt+YGw@mail.gmail.com>
Thanks for your report!
On Mon, Nov 30, 2020 at 11:11:20PM +0100, Vojtěch Knyttl wrote:
> What did you do before the bug happened? (Steps to reproduce your issue)
> 
> 1. Create a commit with hash-issueId, eg. '#87 Fix wrong indent'

Note that to end up with an empty commit message after the fixup it's important to have a single-line commit message starting with a '#' character.

Show 6 quoted lines
> 2. Create a second commit with any commit message.
> 3. Use interactive rebase and 'f'ixup the second commit to the first one.
> 
> What did you expect to happen? (Expected behavior)
> 
> I expect a single commit with message: '#87 Fix wrong indent'

I agree that this is indeed the desired behavior, because 'git rebase' should not cleanup unmodified commit messages.

It used to work before 18633e1a22 (rebase -i: use the rebase--helper builtin, 2017-02-09) (released in v2.13.0), but after that it errored out with "Aborting commit due to empty commit message" [1].

The scripted interactive rebase created fixup commits with 'git commit --amend --no-verify -F <file>', which uses the 'whitespace' cleanup mode, and thus didn't remove comments. The builtin interactive rebase/sequencer, however, invoked 'git commit -n --amend -F <file> --cleanup=strip', i.e. it explicitly specified that comments must be removed.

[1] The current behavior (i.e. empty commit message instead of that
    error) is the result of b00bf1c9a8 (git-rebase: make
    --allow-empty-message the default, 2018-06-27) (released in
    v2.19.0).
Show 27 quoted lines
> What happened instead? (Actual behavior)
> 
> There is a commit with empty commit message. This happens without any
> warning and one notices even too late.
> 
> What's different between what you expected and what actually happened?
> 
> The commit message disappeared as it was probably treated as a comment.
> 
> Anything else you want to add:
> 
> [System Info]
> git version:
> git version 2.28.0
> cpu: x86_64
> no commit associated with this build
> sizeof-long: 8
> sizeof-size_t: 8
> shell-path: /bin/sh
> uname: Darwin 20.1.0 Darwin Kernel Version 20.1.0: Sat Oct 31 00:07:11
> PDT 2020; root:xnu-7195.50.7~2/RELEASE_X86_64 x86_64
> compiler info: clang: 11.0.3 (clang-1103.0.32.62)
> libc info: no libc information available
> $SHELL (typically, interactive shell): /usr/local/bin/bash
> 
> [Enabled Hooks]
> pre-commit
Previous: Vojtěch Knyttl
Message 2 of 2 in “What did you do before the bug happened? (Steps to reproduce your issue)”
  1. Vojtěch KnyttlNov 30, 2020
  2. SZEDER GáborDec 1, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.