From: Jeff King <redacted>
When we print an email signature, we print the divider "--
\n", then the signature string, then two newlines.
Traditionally the signature is a one-liner (and the default
is just the git version), so the extra newline makes sense.
But one could easily specify a longer, multi-line signature,
like:
git format-patch --signature='
this is my long signature
it has multiple lines
' ...
We should notice that it already has its own trailing
newline, and suppress one of ours.
Signed-off-by: Jeff King <redacted>
Signed-off-by: Jeremiah Mahler <redacted>
---
builtin/log.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/builtin/log.c b/builtin/log.c
index 39e8836..5acc048 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -844,8 +844,13 @@ static void gen_message_id(struct rev_info *info, char *base)
static void print_signature(void)
{
- if (signature && *signature)
- printf("-- \n%s\n\n", signature);
+ if (!signature || !*signature)
+ return;
+
+ printf("-- \n%s", signature);
+ if (signature[strlen(signature)-1] != '\n')
+ putchar('\n');
+ putchar('\n');
}
static void add_branch_description(struct strbuf *buf, const char *branch_name)--
Jeremiah Mahler
jmmahler@gmail.com
http://github.com/jmahler