Files
git/builtin
Justin Tobler c3d59c2e70 rev-list: support delimiting objects with NUL bytes
When walking objects, git-rev-list(1) prints each object entry on a
separate line. Some options, such as `--objects`, may print additional
information about tree and blob object on the same line in the form:

        $ git rev-list --objects <rev>
        <tree/blob oid> SP [<path>] LF

Note that in this form the SP is appended regardless of whether the tree
or blob object has path information available. Paths containing a
newline are also truncated at the newline.

Introduce the `-z` option for git-rev-list(1) which reformats the output
to use NUL-delimiters between objects and associated info in the
following form:

        $ git rev-list -z --objects <rev>
        <oid> NUL [path=<path> NUL]

In this form, the start of each record is signaled by an OID entry that
is all hexidecimal and does not contain any '='. Additional path info
from `--objects` is appended to the record as a token/value pair
`path=<path>` as-is without any truncation.

For now, the `--objects` flag is the only options that can be used in
combination with `-z`. In a subsequent commit, NUL-delimited support for
other options is added. Other options that do not make sense when used
in combination with `-z` are rejected.

Signed-off-by: Justin Tobler <jltobler@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2025-03-21 03:40:02 -07:00
..
2025-02-18 15:30:31 -08:00
2025-01-21 08:44:54 -08:00
2024-12-13 07:33:36 -08:00
2025-01-28 13:02:22 -08:00
2024-12-18 10:44:31 -08:00
2024-12-18 10:44:30 -08:00
2025-02-10 10:18:31 -08:00
2024-12-18 10:44:31 -08:00
2024-12-18 10:44:30 -08:00
2025-02-04 09:51:41 -08:00
2025-03-03 14:51:29 -08:00
2024-12-18 10:44:30 -08:00
2025-01-28 13:02:22 -08:00