diff options
author | Phillip Wood <phillip.wood@dunelm.org.uk> | 2023-02-23 20:55:01 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-02-23 14:25:50 -0800 |
commit | 666b6e1135c12925efe608c4d5f03234c54e2d0c (patch) | |
tree | 898b573a823dad86399b06839fd2d67d6e3c1ca5 /sequencer.c | |
parent | 7aed2c0565bb1a7b4524f93e35a29770286ea630 (diff) | |
download | git-666b6e1135c12925efe608c4d5f03234c54e2d0c.tar.gz |
rebase -i: fix parsing of "fixup -C<commit>"
If the user omits the space between "-C" and the commit in a fixup
command then it is parsed as an ordinary fixup and the commit message is
not updated as it should be. Fix this by making the space between "-C"
and "<commit>" optional as it is for the "merge" command.
Note that set_replace_editor() is changed to set $GIT_SEQUENCE_EDITOR
instead of $EDITOR in order to be able to replace the todo list and
reword commits with $FAKE_COMMIT_MESSAGE. This is safe as all the
existing users are using set_replace_editor() to replace the todo list.
Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sequencer.c')
-rw-r--r-- | sequencer.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sequencer.c b/sequencer.c index 416412ca33..3c34e70872 100644 --- a/sequencer.c +++ b/sequencer.c @@ -2532,12 +2532,10 @@ static int parse_insn_line(struct repository *r, struct todo_item *item, } if (item->command == TODO_FIXUP) { - if (skip_prefix(bol, "-C", &bol) && - (*bol == ' ' || *bol == '\t')) { + if (skip_prefix(bol, "-C", &bol)) { bol += strspn(bol, " \t"); item->flags |= TODO_REPLACE_FIXUP_MSG; - } else if (skip_prefix(bol, "-c", &bol) && - (*bol == ' ' || *bol == '\t')) { + } else if (skip_prefix(bol, "-c", &bol)) { bol += strspn(bol, " \t"); item->flags |= TODO_EDIT_FIXUP_MSG; } |