summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-08-20 12:41:33 -0700
committerJunio C Hamano <gitster@pobox.com>2018-08-20 12:41:33 -0700
commit36fd1e843b83a1ee10178e7da19eee3dee590580 (patch)
tree1506cc5f569415dae4d436f6f32c34bb604e6b5b
parent2a2c18f1c3ae3fbade32df11719f24e8d6a6709c (diff)
parentdd2e36ebaccd6dc2ca4d37759248ce9bbdf9113e (diff)
Merge branch 'pw/rebase-i-squash-number-fix'
When "git rebase -i" is told to squash two or more commits into one, it labeled the log message for each commit with its number. It correctly called the first one "1st commit", but the next one was "commit #1", which was off-by-one. This has been corrected. * pw/rebase-i-squash-number-fix: rebase -i: fix numbering in squash message
-rw-r--r--sequencer.c4
-rwxr-xr-xt/t3418-rebase-continue.sh4
2 files changed, 5 insertions, 3 deletions
diff --git a/sequencer.c b/sequencer.c
index c00eedd856..2db52fe800 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -1552,13 +1552,13 @@ static int update_squash_messages(enum todo_command command,
unlink(rebase_path_fixup_msg());
strbuf_addf(&buf, "\n%c ", comment_line_char);
strbuf_addf(&buf, _("This is the commit message #%d:"),
- ++opts->current_fixup_count);
+ ++opts->current_fixup_count + 1);
strbuf_addstr(&buf, "\n\n");
strbuf_addstr(&buf, body);
} else if (command == TODO_FIXUP) {
strbuf_addf(&buf, "\n%c ", comment_line_char);
strbuf_addf(&buf, _("The commit message #%d will be skipped:"),
- ++opts->current_fixup_count);
+ ++opts->current_fixup_count + 1);
strbuf_addstr(&buf, "\n\n");
strbuf_add_commented_lines(&buf, body, strlen(body));
} else
diff --git a/t/t3418-rebase-continue.sh b/t/t3418-rebase-continue.sh
index 65ed7db159..25099d715c 100755
--- a/t/t3418-rebase-continue.sh
+++ b/t/t3418-rebase-continue.sh
@@ -160,13 +160,15 @@ test_expect_success '--skip after failed fixup cleans commit message' '
: The first squash was skipped, therefore: &&
git show HEAD >out &&
test_i18ngrep "# This is a combination of 2 commits" out &&
+ test_i18ngrep "# This is the commit message #2:" out &&
(test_set_editor "$PWD/copy-editor.sh" && git rebase --skip) &&
git show HEAD >out &&
test_i18ngrep ! "# This is a combination" out &&
: Final squash failed, but there was still a squash &&
- test_i18ngrep "# This is a combination of 2 commits" .git/copy.txt
+ test_i18ngrep "# This is a combination of 2 commits" .git/copy.txt &&
+ test_i18ngrep "# This is the commit message #2:" .git/copy.txt
'
test_expect_success 'setup rerere database' '