Skip to content

Commit 63d2de6

Browse files
LemmingAvalanchephillipwood
authored andcommitted
sequencer: comment commit messages properly
Co-authored-by: Phillip Wood <[email protected]> Signed-off-by: Kristoffer Haugsbakk <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent e001483 commit 63d2de6

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

sequencer.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1941,10 +1941,10 @@ static int seen_squash(struct replay_ctx *ctx)
19411941

19421942
static void update_comment_bufs(struct strbuf *buf1, struct strbuf *buf2, int n)
19431943
{
1944-
strbuf_setlen(buf1, 2);
1944+
strbuf_setlen(buf1, strlen(comment_line_str) + 1);
19451945
strbuf_addf(buf1, _(nth_commit_msg_fmt), n);
19461946
strbuf_addch(buf1, '\n');
1947-
strbuf_setlen(buf2, 2);
1947+
strbuf_setlen(buf2, strlen(comment_line_str) + 1);
19481948
strbuf_addf(buf2, _(skip_nth_commit_msg_fmt), n);
19491949
strbuf_addch(buf2, '\n');
19501950
}
@@ -1963,8 +1963,12 @@ static void update_squash_message_for_fixup(struct strbuf *msg)
19631963
size_t orig_msg_len;
19641964
int i = 1;
19651965

1966-
strbuf_addf(&buf1, "# %s\n", _(first_commit_msg_str));
1967-
strbuf_addf(&buf2, "# %s\n", _(skip_first_commit_msg_str));
1966+
strbuf_add_commented_lines(&buf1, _(first_commit_msg_str),
1967+
strlen(_(first_commit_msg_str)),
1968+
comment_line_str);
1969+
strbuf_add_commented_lines(&buf2, _(skip_first_commit_msg_str),
1970+
strlen(_(skip_first_commit_msg_str)),
1971+
comment_line_str);
19681972
s = start = orig_msg = strbuf_detach(msg, &orig_msg_len);
19691973
while (s) {
19701974
const char *next;

t/t3437-rebase-fixup-options.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,21 @@ test_expect_success 'fixup -C with conflicts gives correct message' '
127127
test_cmp expected-author actual-author
128128
'
129129

130+
test_expect_success 'conflicting fixup -C after fixup with custom comment string' '
131+
test_config core.commentString COMMENT &&
132+
test_when_finished "test_might_fail git rebase --abort" &&
133+
git checkout --detach A3 &&
134+
test_must_fail env FAKE_LINES="1 fixup 2 fixup_-C 4" git rebase -i A &&
135+
echo resolved >A &&
136+
git add A &&
137+
FAKE_COMMIT_AMEND=edited git rebase --continue &&
138+
test_commit_message HEAD <<-\EOF
139+
A3
140+
141+
edited
142+
EOF
143+
'
144+
130145
test_expect_success 'skipping fixup -C after fixup gives correct message' '
131146
test_when_finished "test_might_fail git rebase --abort" &&
132147
git checkout --detach A3 &&

0 commit comments

Comments
 (0)