Re: [PATCH v2 6/6] rev-list: support NUL-delimited --missing option
From: Justin Tobler <hidden>
Date: 2025-03-13 14:55:11
On 25/03/13 01:55PM, Patrick Steinhardt wrote:
On Wed, Mar 12, 2025 at 07:17:06PM -0500, Justin Tobler wrote:quoted
diff --git a/Documentation/rev-list-options.adoc b/Documentation/rev-list-options.adoc index d400d76cf2..145ded5c78 100644 --- a/Documentation/rev-list-options.adoc +++ b/Documentation/rev-list-options.adoc@@ -371,8 +371,8 @@ ifdef::git-rev-list[] <OID> NUL [<token>=<value> NUL]... ----------------------------------------------------------------------- + -Additional object metadata, such as object paths or boundary objects, is -printed using the `<token>=<value>` form. Token values are printed as-is +Additional object metadata, such as object paths or boundary/missing objects, +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: +Nit: I don't think we need to update this paragraph here as it is written as a non-exhaustive list anyway.
Ok, I'll omit this change and only keep the added example.
quoted
diff --git a/builtin/rev-list.c b/builtin/rev-list.c index 7c6d4b25b0..d7b4dd48ff 100644 --- a/builtin/rev-list.c +++ b/builtin/rev-list.c@@ -136,24 +136,39 @@ static void print_missing_object(struct missing_objects_map_entry *entry, { struct strbuf sb = STRBUF_INIT; + if (line_term) + putchar('?'); + + printf("%s", oid_to_hex(&entry->entry.oid)); + + if (!line_term) + printf("%cmissing=yes", info_term); + if (!print_missing_info) { - printf("?%s\n", oid_to_hex(&entry->entry.oid)); + putchar(line_term); return; } if (entry->path && *entry->path) { struct strbuf path = STRBUF_INIT;Nit: the variable and its cleanup could be moved closer to where it's used.
Will do. Thanks -Justin