Hi,
On Wed, Oct 19, 2016 at 1:24 PM, Dennis Kaarsemaker
<[email protected]> wrote:
> On Wed, 2016-08-31 at 16:27 -0700, Jacob Keller wrote:
>> From: Jacob Keller <[email protected]>
>>
>> Add an extension to git-diff and git-log (and any other graph-aware
>> displayable output) such that "--line-prefix=<string>" will print the
>> additional line-prefix on every line of output.
>
> This patch breaks git rev-list --header, also breaking gitweb.
>
Oops! Is it possible you have a test case already?
> The NUL between commits has gone missing, causing gitweb to interpret
> the output of git rev-list as one commit.
>
That is obviously not what we want!
> Sorry for not catching this earlier, I actually encountered this early
> september but thought it was caused by us running an ancient gitweb
> with a modern git. Finally managed to upgrade gitweb today, and the bug
> didn't go away. git bisect says 660e113ce is the culprit. Checking out
> 'next' and reverting this single patch makes the problem disappear.
>
Ok.
> Haven't yet tried to fix the bug, but this hunk looks suspicious:
>
> - if (revs->commit_format != CMIT_FMT_USERFORMAT ||
> - buf.len) {
> - fwrite(buf.buf, 1, buf.len, stdout);
> - putchar(info->hdr_termination);
> - }
> + /*
> + * If the message buffer is empty, just show
> + * the rest of the graph output for this
> + * commit.
> + */
> + if (graph_show_remainder(revs->graph))
> + putchar('\n');
Most likely this should have been "putchar(info->hdr_termination);" I
think? Not entirely sure.
If we can get a test case in we can use that to help debug the issue.
Thanks,
Jake
> + if (revs->commit_format == CMIT_FMT_ONELINE)
> +
>
> D.