Re: [PATCH 2/4] log and rev-list: Fixed newline termination issues with --graph

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 7, 2008 at 7:11 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote:
> Junio C Hamano <gitster@xxxxxxxxx> writes:
>
>  >  (2) Presence of %n in "--pretty=format:..." means a multi-line output and
>  >      uses separator as before; lack of %n means it is a one-line format
>  >      and uses terminator.
>
>  After thinking about this a bit more, I think a slight variant of the
>  above probably is the least intrusive both from code and semantics point
>  of view, and would match end-user expectations pretty well.
>
>  This attached patch introduces a single bit "use_terminator" in "struct
>  rev_info", which is normally false (i.e. most formats use separator
>  semantics) but by flipping it to true, you can ask for terminator
>  semantics just like oneline format does.
>
>  The function get_commit_format(), which is what parses "--pretty=" option,
>  now takes a pointer to "struct rev_info" and updates its commit_format and
>  use_terminator fields.  It used to return the value of type "enum
>  cmit_fmt", but all the callers assigned it to rev->commit_format.
>
>  There are only two cases the code turns use_terminator on.  Obviously, the
>  traditional oneline format (--pretty=oneline) is one of them, and the new
>  case is --pretty=format:... that does not end with "%n".
>
>  When the custom format "--pretty=format:" is:
>
>         "A: %an <%ae>%nC: %cn <%ce>%n"
>
>  it represents a record with two lines (author and committer), and these
>  are output with an extra LF in between, just like the regular --pretty
>  without customization will get an extra separator.  The custom format
>
>         "A: %an <%ae> C: %cn <%ce>"
>
>  will give a one-line-per-commit output, each of which is terminated with
>  LF.  And
>
>         "A: %an <%ae>%nC: %cn <%ce>"
>
>  will give two line per commit without extra separator.
>

Hi,

Shouldn't whatever option is used here respect line_terminator such
that it will use NULL bytes when -z is used?  Having watched this
discussion, it seems like you really want an option --whatever that
forces a record terminator between records and, I assume, at the end.
I have not seen anyone suggest it, perhaps I missed it.

-Govind
--
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux