[PATCH v9 1/2] format-patch: make newline after signature conditional
- From
Jeremiah Mahler <jmmahler@gmail.com>
- Date
- May 24, 2014, 04:08 UTC
- Message-ID
- <d74db966b42529b7d222745b2950e97ba5f46822.1400904004.git.jmmahler@gmail.com>
- In-Reply-To
- <cover.1400904004.git.jmmahler@gmail.com>
From: Jeff King <peff@peff.net>
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 <peff@peff.net> Signed-off-by: Jeremiah Mahler <jmmahler@gmail.com> --- 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