summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Johannes Schindelin <Johannes.Schindelin@gmx.de>2007-11-11 17:36:27 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2007-11-22 17:05:03 -0800
commit2150554b0ed60356d8918b610834c04ad2eecdec (patch)
tree0b330cf832aa6fadc8f49c38d9aa1ce5366b0424
parentbuiltin-commit: fix --signoff (diff)
downloadtgif-2150554b0ed60356d8918b610834c04ad2eecdec.tar.xz
builtin-commit --s: add a newline if the last line was not a S-o-b
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@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin-commit.c5
-rwxr-xr-xt/t7500-commit.sh1
2 files changed, 5 insertions, 1 deletions
diff --git a/builtin-commit.c b/builtin-commit.c
index 780eec79bd..4dfa802758 100644
--- a/builtin-commit.c
+++ b/builtin-commit.c
@@ -197,8 +197,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 49c1922dde..baed6ce96b 100755
--- a/t/t7500-commit.sh
+++ b/t/t7500-commit.sh
@@ -126,6 +126,7 @@ test_expect_success 'using alternate GIT_INDEX_FILE (2)' '
cat > expect << EOF
zort
+
Signed-off-by: C O Mitter <committer@example.com>
EOF