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

Re: [BUG] fixup commit is dropped during rebase if subject = branch name

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 17, 2022, 18:04 UTC
Message-ID
<xmqqpmftev3c.fsf@gitster.g>
In-Reply-To
<CA+JQ7M_Xwxa48ggu88rhA9dG6R3u820Tgu8B2Kg-uMbEVjy3Vg@mail.gmail.com>
Erik Cervin Edin <erik@cervined.in> writes:
>   git init --initial-branch=main
>   git commit -m init --allow-empty
>   git tag init

Thanks for a report. Let me quickly respond with an initial reaction without being in front of a real computer to run tests on myself. Others may give more useful feedback.

Show 7 quoted lines
>   # failure
>   seq 1 3 >> bar && git add bar && git commit -m main
>   git tag -f x
>   seq 4 6 >> bar && git add bar && git commit -m bar
>   seq 7 9 >> bar && git add bar && git commit --fixup :/main
>   git -c sequence.editor=: rebase --autosquash --interactive x
>   git diff ORIG_HEAD

So near the bottom there are "init", and "x". The commit title of "x" is "main" and that is what the fix-up intends to amend.

But then I do not think there is any valid expectation if you say "keep x intact and rebase everything above", which is what the command line arguments tell the last command to do. Perhaps we should keep all original commits up to that "fixup" one without any reordering or squashing?

The title of your bug report is also curious. What happens if you did

    git branch -m master

just before running the "rebase" command in the above sequence? I would have expected to see that in your "expected" section to contrast the behaviour between "if subject = branch" vs "if subject != branch", and the report looks a bit puzzling.

THanks.
Previous: Erik Cervin EdinNext: Erik Cervin Edin
Message 2 of 19 in “[BUG] fixup commit is dropped during rebase if subject = branch name”
  1. Erik Cervin EdinSep 17, 2022
  2. Junio C HamanoSep 17, 2022
  3. Erik Cervin EdinSep 18, 2022
  4. Johannes AltmanningerSep 17, 2022
  5. sequencer: avoid dropping fixup commit that targets self via commit-ishJohannes Altmanninger, Sep 18, 2022
  6. Erik Cervin EdinSep 18, 2022
  7. Johannes AltmanningerSep 18, 2022
  8. Junio C HamanoSep 19, 2022
  9. Junio C HamanoSep 19, 2022
  10. Johannes AltmanningerSep 20, 2022
  11. Junio C HamanoSep 19, 2022
  12. sequencer: avoid dropping fixup commit that targets self via commit-ishJohannes Altmanninger, Sep 20, 2022
  13. Phillip WoodSep 20, 2022
  14. Junio C HamanoSep 21, 2022
  15. Johannes AltmanningerSep 22, 2022
  16. Junio C HamanoSep 22, 2022
  17. sequencer: avoid dropping fixup commit that targets self via commit-ishJohannes Altmanninger, Sep 24, 2022
  18. Junio C HamanoSep 19, 2022
  19. Johannes AltmanningerSep 20, 2022

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.