From: Junio C Hamano <gitster@pobox.com>
To: "Govind Salinas" <govind@sophiasuchtig.com>
Cc: "Git Mailing List" <git@vger.kernel.org>
Subject: Re: [PATCH] log-tree.c: Make log_tree_diff_flush() honor line_termination.
Date: Mon, 21 Apr 2008 19:58:27 -0700 [thread overview]
Message-ID: <7vskxe8ujw.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <5d46db230804211918u1444a80cwe1e977d37c2eb257@mail.gmail.com> (Govind Salinas's message of "Mon, 21 Apr 2008 21:18:48 -0500")
"Govind Salinas" <govind@sophiasuchtig.com> writes:
[no justification here]
> Signed-off-by: Govind Salinas <blix@sophiasuchtig.com>
> diff --git a/log-tree.c b/log-tree.c
> index 5b29639..374b277 100644
> --- a/log-tree.c
> +++ b/log-tree.c
> @@ -347,7 +347,7 @@ int log_tree_diff_flush(struct rev_info *opt)
> int pch = DIFF_FORMAT_DIFFSTAT | DIFF_FORMAT_PATCH;
> if ((pch & opt->diffopt.output_format) == pch)
> printf("---");
> - putchar('\n');
> + putchar(opt->diffopt.line_termination);
> }
> }
> diff_flush(&opt->diffopt);
What this "\n" separates are the commit log message (potentially followed
by the three-dash marker to signal "the patch follows") and the textual
diff (potentially with diffstat, which also is textual).
Lines in the textual diff part is always separated with "\n". The patch
is line oriented by definition, and it does not make it any easier for the
tools to grok even if you made it NUL terminated. The log message when
given by log-tree is typically indented by four spaces, so the beginning
of diff/patch part which is not indented can be detected easily without
the help fro NUL termination. In other words, I do not think the tool
downstream you are writing is helped much with this change. While I can
understand why you wanted to do it (i.e. "being consistent"), I do not
think the consistency buys us much in this particular case.
However, the tool downstream other people have already written to read
from the log-tree output already knows that there will be LF at this place
even if they drive log-tree with a "-z" option, as that has been the way
from the beginning. I have a suspicion that tools like qgit may start
barfing with this change if they read from "-z" output.
Which makes the purist in me feel somewhat sad, but the pragmatist in me
is not convinced until he is shown how this will help the downstream tools
that read from the output from log-tree, which you didn't do with zero
line of a proposed commit log message.
A possible defense for this patch is that it _could_ make the output
easier to parse in the presense of a commit log message with a line that
begins with "diff --git" when log-tree is driven with --pretty=raw.
prev parent reply other threads:[~2008-04-22 2:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-22 2:18 [PATCH] log-tree.c: Make log_tree_diff_flush() honor line_termination Govind Salinas
2008-04-22 2:58 ` Junio C Hamano [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7vskxe8ujw.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=govind@sophiasuchtig.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).