Re: [PATCH 0/4] rev-list: introduce NUL-delimited output mode
Junio C Hamano <gitster@pobox.com> writes:
Show 7 quoted lines
> As this topic is designing essentially a new and machine parseable
> format, we could even unify all three formats into one. For example,
> the format could be like this:
>
> <oid> NUL [<attr>=<value> NUL]...
>
> where
(0) "rev-list" that gives only a sequence of "<oid>" for commit-ish,
as well as "rev-list --boundary", would fall out as a natural
consequence. Bog-standard "list of commits" would see a
sequence of "<oid> NUL", while a boundary object would see
"<oid> NUL boundary=yes NUL".Show 14 quoted lines
> (1) A record ends when a new record begins.
>
> (2) The beginning of a new record is signaled by <oid> that is all
> hexadecimal and does not have any '=' in it.
>
> (3) The traditional "rev-list --objects" output that gives path in
> addition to the object name uses "path" as the <attr> name,
> i.e. such a record looks like "<oid> NUL path=<path> NUL".
>
> (4) The traditional "rev-list --missing" output loses the leading
> "?"; it is replaced by "missing" as the <attr> name, i.e. such
> a record may look like "<oid> NUL missing=yes NUL..." together
> with other "<token>=<value> NUL" pairs appended as needed at
> the end.