Jeff King <peff@xxxxxxxx> writes: > On Mon, Apr 30, 2012 at 12:36:07PM -0700, Junio C Hamano wrote: > >> Jan Krüger <jk@xxxxx> writes: >> >> > When using a custom format in line termination mode (as opposed to line >> > separation mode), the configured line terminator is not used, so things >> > like "git log --pretty=tformat:%H -z" do not work properly. >> > >> > Make it use the line terminator the user ordered. >> > >> > Signed-off-by: Jan Krüger <jk@xxxxx> >> > --- >> > log-tree.c | 2 +- >> > 1 file changed, 1 insertion(+), 1 deletion(-) >> > >> > diff --git a/log-tree.c b/log-tree.c >> > index 34c49e7..44f0268 100644 >> > --- a/log-tree.c >> > +++ b/log-tree.c >> > @@ -682,7 +682,7 @@ void show_log(struct rev_info *opt) >> > if (opt->use_terminator) { >> > if (!opt->missing_newline) >> > graph_show_padding(opt->graph); >> > - putchar('\n'); >> > + putchar(opt->diffopt.line_termination); >> > } >> > >> > strbuf_release(&msgbuf); >> >> Looks sensible. Perhaps we would want to add a test? > > Hmm. This came up before, and the issue is (or can be) slightly more > complex: > > http://thread.gmane.org/gmane.comp.version-control.git/122478/focus=122568 Yeah, the test given completely forgets about "log -p" case, as you said in the above: But we can't just modify that to use the specified line terminator, because sometimes it is acting as a separator between commit message and diff, and sometimes it is acting as the terminator of the whole record. So the patch is not quite right for the "log -p -z" (or "log --stat -z") case. The correct output would have NUL after each commit, so "-z --format=%s" would have a single-liner subject with the line-terminating LF replaced with NUL, and "-p/--stat -z --format=%s" would have a single-liner subject with its line-terminating LF, followed by the diff/diffstat in which the terminating LF of the last line is replaced with NUL, but to be consistent with what "-p/--stat -z --pretty=format:%s" does, I think it is OK to append NUL to the diff/diffstat part instead of replacing its last LF with NUL. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html