show: suppress extra newline when showing annotated tag
authorJeff King <peff@peff.net>
Fri, 17 Jul 2009 23:18:34 +0000 (19:18 -0400)
committerJunio C Hamano <gitster@pobox.com>
Sun, 19 Jul 2009 18:04:13 +0000 (11:04 -0700)
When showing a tag, our header parsing finishes with the
offset pointing to the newline separating the tag header
from the tag body. This means that the printed body will
always start with a newline.

However, we also add an extra newline when printing the
tagger information. This leads to an ugly double-newline:

$ git show v1.6.3
tag v1.6.3
Tagger: Junio C Hamano <gitster@pobox.com>
Date: Wed May 6 18:16:47 2009 -0700

GIT 1.6.3
-----BEGIN PGP SIGNATURE-----
...

This patch removes the extra newline from the end of the
tagger headers. This is a better solution than suppressing
the separator newline, because it retains the behavior for
tags which have no tagger. E.g., "git show v0.99" will
continue to look like:

$ git show v0.99
tag v0.99

Test-release for wider distribution.
...

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-log.c
index 0c2fa0ae2dc3f23cd52d2e8d765805b07262a7d6..b05796d7bcb601a961d9e4b4debecd713ea2332b 100644 (file)
@@ -257,7 +257,7 @@ static void show_tagger(char *buf, int len, struct rev_info *rev)
        pp_user_info("Tagger", rev->commit_format, &out, buf, rev->date_mode,
                git_log_output_encoding ?
                git_log_output_encoding: git_commit_encoding);
-       printf("%s\n", out.buf);
+       printf("%s", out.buf);
        strbuf_release(&out);
 }