On 25/03/13 01:55PM, Patrick Steinhardt wrote: > On Wed, Mar 12, 2025 at 07:17:04PM -0500, Justin Tobler wrote: > > diff --git a/Documentation/rev-list-options.adoc b/Documentation/rev-list-options.adoc > > index 785c0786e0..166d3cd19e 100644 > > --- a/Documentation/rev-list-options.adoc > > +++ b/Documentation/rev-list-options.adoc > > @@ -361,6 +361,29 @@ ifdef::git-rev-list[] > > --progress=<header>:: > > Show progress reports on stderr as objects are considered. The > > `<header>` text will be printed with each progress update. > > + > > +-z:: > > + Instead of being newline-delimited, each outputted object and its > > + accompanying metadata is delimited using NUL bytes in the following > > + form: > > ++ > > +----------------------------------------------------------------------- > > +<OID> NUL [<token>=<value> NUL]... > > +----------------------------------------------------------------------- > > ++ > > +Additional object metadata, such as object paths, is printed using the > > +`<token>=<value>` form. Token values are printed as-is without any > > +encoding/truncation. An OID entry never contains a '=' character and thus > > +is used to signal the start of a new object record. Examples: > > ++ > > +----------------------------------------------------------------------- > > +<OID> NUL > > +<OID> NUL path=<path> NUL > > +----------------------------------------------------------------------- > > ++ > > +This mode is only compatible with the `--objects` output option. Also, revision > > +and pathspec argument parsing on stdin with the `--stdin` option is NUL byte > > +delimited instead of using newlines while in this mode. > > endif::git-rev-list[] > > > > History Simplification > > I feel like this last paragraph, where we talk about `--stdin` being > NUL-delimited, should already be mentioned in the first paragraph. That's fair. I'll move the `--stdin` part to the beginning. -Justin