Skip to content

Rebase: Support "fixup -C" todo lines - #172

Merged
jorio merged 1 commit into
jorio:masterfrom
Grinv:rebase-fixup-c
Nov 9, 2026
Merged

jorio merged 1 commit into
jorio:masterfrom
Grinv:rebase-fixup-c

Conversation

@Grinv

@Grinv Grinv commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

Fixes #167. With rebase.autoSquash, git turns an amend! commit into a fixup -C todo line, and the todo parser rejected it, so the interactive rebase didn't start.

This adds RebaseOp.FixupC as you described: it melds like a fixup, uses the fixup color, and has your description in trtables.py. It isn't in SupportedRebaseOps, so RebaseDialog's menu doesn't offer it. It has no hotkey letter either, and looking it up in RebaseOpLetters for a cramped pill in the graph raised KeyError, so cramped pills now fall back to the op's first letter.

testRebaseAmendCommitWithAutoSquash runs the rebase from the issue end to end and fails on master. testRebasePillCrampedFixupC covers the cramped pill. Linux: 1018 passed, 20 skipped (PyQt6); test_tasks_rebase.py and test_gitfourchette.py also pass on PySide6.

Prepared with Claude Code; I reviewed the changes.

With rebase.autoSquash, git turns an "amend!" commit into a "fixup -C"
todo line. The todo parser rejected it, so the interactive rebase didn't
start. Add RebaseOp.FixupC, which melds like a fixup. RebaseDialog doesn't
offer it in its menu yet.

Fixes jorio#167
@jorio
jorio merged commit c3316c7 into jorio:master Nov 9, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Interactive rebase fails on amend! commits with rebase.autoSquash

2 participants