aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>2007-11-11 17:36:27 +0000
committerJunio C Hamano <gitster@pobox.com>2007-11-22 17:05:03 -0800
commit2150554b0ed60356d8918b610834c04ad2eecdec (patch)
tree0b330cf832aa6fadc8f49c38d9aa1ce5366b0424
parent13208572fbe8838fd8835548d7502202d1f7b21d (diff)
downloadgit-2150554b0ed60356d8918b610834c04ad2eecdec.tar.gz
git-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 780eec79b..4dfa80275 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 49c1922dd..baed6ce96 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