diff options
author | Alban Gruin <alban.gruin@gmail.com> | 2020-03-30 14:42:35 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-03-30 12:47:08 -0700 |
commit | 68e7090f31b4d4f2c7b9a25240af61149fbebb5c (patch) | |
tree | c6fca4a292783bd02cc3f39dfa325061b83dacd3 | |
parent | Git 2.26 (diff) | |
download | tgif-68e7090f31b4d4f2c7b9a25240af61149fbebb5c.tar.xz |
sequencer: don't abbreviate a command if it doesn't have a short form
When the sequencer is requested to abbreviate commands, it will replace
those that do not have a short form (eg. `noop') by a comment mark.
`noop' serves no purpose, except when fast-forwarding (ie. by running
`git rebase'). Removing it will break this command when
`rebase.abbreviateCommands' is set to true.
Teach todo_list_to_strbuf() to check if a command has an actual
short form, and to ignore it if not.
Signed-off-by: Alban Gruin <alban.gruin@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | sequencer.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sequencer.c b/sequencer.c index e528225e78..c2f97f94ba 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1564,7 +1564,7 @@ static const char *command_to_string(const enum todo_command command) static char command_to_char(const enum todo_command command) { - if (command < TODO_COMMENT && todo_command_info[command].c) + if (command < TODO_COMMENT) return todo_command_info[command].c; return comment_line_char; } @@ -4947,6 +4947,8 @@ static void todo_list_to_strbuf(struct repository *r, struct todo_list *todo_lis max = num; for (item = todo_list->items, i = 0; i < max; i++, item++) { + char cmd; + /* if the item is not a command write it and continue */ if (item->command >= TODO_COMMENT) { strbuf_addf(buf, "%.*s\n", item->arg_len, @@ -4955,8 +4957,9 @@ static void todo_list_to_strbuf(struct repository *r, struct todo_list *todo_lis } /* add command to the buffer */ - if (flags & TODO_LIST_ABBREVIATE_CMDS) - strbuf_addch(buf, command_to_char(item->command)); + cmd = command_to_char(item->command); + if ((flags & TODO_LIST_ABBREVIATE_CMDS) && cmd) + strbuf_addch(buf, cmd); else strbuf_addstr(buf, command_to_string(item->command)); |