[PATCH v2 0/3] repo: add -z as an alias for --format=nul to git-repo-structure
From: Lucas Seiki Oshiro <hidden>
Date: 2025-12-04 21:09:37
Hi!
The main objective of this patchset is to add -z to git-repo-structure as
an alias for --format=nul. I'm including two other related patches here:
- a patch removing an extra line in the documentation, which was leaking an + to
the generated files
- a patch replacing `[--format=...] [-z]` by `[--format=... | -z]` in
git-repo-info's synopsis
Lucas Seiki Oshiro (3):
repo: remove blank line from Documentation/git-repo.adoc
repo: use [--format=... | -z] instead of [-z] in git-repo-info
synopsis
repo: add -z as an alias for --format=nul to git-repo-structure
Documentation/git-repo.adoc | 11 ++++++-----
builtin/repo.c | 8 ++++++--
t/t1901-repo-structure.sh | 7 +++++++
3 files changed, 19 insertions(+), 7 deletions(-)
Range-diff against v1:
-: ---------- > 1: bfd4ff5db0 repo: remove blank line from Documentation/git-repo.adoc
-: ---------- > 2: e5eac8713c repo: use [--format=... | -z] instead of [-z] in git-repo-info synopsis
1: f051cd41de ! 3: 0ccec7037d repo: add -z as an alias for --format=nul to git-repo-structure
@@ Documentation/git-repo.adoc
@@ Documentation/git-repo.adoc: SYNOPSIS
--------
[synopsis]
- git repo info [--format=(keyvalue|nul)] [-z] [--all | <key>...]
+ git repo info [--format=(keyvalue|nul) | -z] [--all | <key>...]
-git repo structure [--format=(table|keyvalue|nul)]
-+git repo structure [--format=(table|keyvalue|nul)] [-z]
++git repo structure [--format=(table|keyvalue|nul) | -z]
DESCRIPTION
-----------
@@ Documentation/git-repo.adoc: supported:
`-z` is an alias for `--format=nul`.
-`structure [--format=(table|keyvalue|nul)]`::
-+`structure [--format=(table|keyvalue|nul)] [-z]`::
++`structure [--format=(table|keyvalue|nul) | -z]`::
Retrieve statistics about the current repository structure. The
following kinds of information are reported:
+
@@ Documentation/git-repo.adoc: supported:
the delimiter between the key and value instead of '='. Unlike the
`keyvalue` format, values containing "unusual" characters are never
quoted.
+++
+`-z` is an alias for `--format=nul`.
INFO KEYS
@@ builtin/repo.c
@@
static const char *const repo_usage[] = {
- "git repo info [--format=(keyvalue|nul)] [-z] [--all | <key>...]",
+ "git repo info [--format=(keyvalue|nul) | -z] [--all | <key>...]",
- "git repo structure [--format=(table|keyvalue|nul)]",
-+ "git repo structure [--format=(table|keyvalue|nul)] [-z]",
++ "git repo structure [--format=(table|keyvalue|nul) | -z]",
NULL
};
@@ t/t1901-repo-structure.sh: test_expect_success 'keyvalue and nul format' '
+ test_cmp expect_nul out &&
+ test_line_count = 0 err &&
+
-+ # Check -z
-+ git repo structure --format=nul >out 2>err &&
++ # "-z", as a synonym to "--format=nul", participates in the
++ # usual "last one wins" rule.
++ git repo structure --format=table -z >out 2>err &&
+
test_cmp expect_nul out &&
test_line_count = 0 err
--
2.50.1 (Apple Git-155)