The rule is this: if the last line already contains the sign off by the current committer, do nothing. If it contains another sign off, just add the sign off of the current committer. If the last line does not contain a sign off, add a new line before adding the sign off. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- builtin-commit.c | 5 ++++- t/t7500-commit.sh | 1 + 2 files changed, 5 insertions(+), 1 deletions(-) diff --git a/builtin-commit.c b/builtin-commit.c index 6b1507d..66d7e5e 100644 --- a/builtin-commit.c +++ b/builtin-commit.c @@ -196,8 +196,11 @@ static int prepare_log_message(const char *index_file, const char *prefix) for (i = sb.len - 1; i > 0 && sb.buf[i - 1] != '\n'; i--) ; /* do nothing */ - if (prefixcmp(sb.buf + i, sob.buf)) + if (prefixcmp(sb.buf + i, sob.buf)) { + if (prefixcmp(sb.buf + i, sign_off_header)) + strbuf_addch(&sb, '\n'); strbuf_addbuf(&sb, &sob); + } strbuf_release(&sob); } diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh index 13d5a0c..e0be2ed 100755 --- a/t/t7500-commit.sh +++ b/t/t7500-commit.sh @@ -95,6 +95,7 @@ test_expect_success 'commit message from file should override template' ' cat > expect << EOF zort + Signed-off-by: C O Mitter <committer@xxxxxxxxxxx> EOF -- 1.5.3.5.1693.g26ed - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html