git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 3/3] repo: add -z as an alias for --format=nul to git-repo-structure

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 11, 2025, 05:23 UTC
Message-ID
<xmqqh5txfv7b.fsf@gitster.g>
In-Reply-To
<20251204210843.79411-4-lucasseikioshiro@gmail.com>
Lucas Seiki Oshiro <lucasseikioshiro@gmail.com> writes:
Show 9 quoted lines
> diff --git a/t/t1901-repo-structure.sh b/t/t1901-repo-structure.sh
> index 36a71a144e..df7d4ea524 100755
> --- a/t/t1901-repo-structure.sh
> +++ b/t/t1901-repo-structure.sh
> @@ -101,6 +101,13 @@ test_expect_success 'keyvalue and nul format' '
>  		tr "\n=" "\0\n" <expect >expect_nul &&
>  		git repo structure --format=nul >out 2>err &&
> +		test_cmp expect_nul out &&
> +		test_line_count = 0 err &&
Not limited to this step, but I have a couple of comments.
 * Instead of munging the expected file so that it contains a NUL,
   and compare the actual output with it, munge the NUL terminated
   outout to make it text and compare with the expected file in text
   format.  This matters when tests start to fail as test_cmp will
   show the "diff" output when it fails, and comparing NUL
   terminated files, which are "binary" in the eyes of the "diff"
   utility.
 * I see your -z output is "<key> LF <value> NUL", but was there a
   particular reason why "<key> NUL <value> NUL" was not chosen?
   Unless there is a compelling reason not to, it would be a lot
   more future-proof to use NUL for both, primarily because it would
   allow future developers to include arbitrary non-NUL bytes in the
   <key> part in the future (and we wouldn't know what end-user
   controlled substring they may want to add).
Show 8 quoted lines
> +
> +		# "-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
>  	)
Previous: Lucas Seiki OshiroNext: Lucas Seiki Oshiro
Message 13 of 15 in “repo: add -z as an alias for --format=nul to git-repo-structure”
  1. repo: add -z as an alias for --format=nul to git-repo-structureLucas Seiki Oshiro, Nov 30, 2025
  2. Junio C HamanoDec 1, 2025
  3. Patrick SteinhardtDec 1, 2025
  4. Lucas Seiki OshiroDec 1, 2025
  5. Junio C HamanoDec 2, 2025
  6. Lucas Seiki OshiroDec 2, 2025
  7. Justin ToblerDec 1, 2025
  8. Lucas Seiki OshiroDec 2, 2025
  9. 0/3 repo: add -z as an alias for --format=nul to git-repo-structureLucas Seiki Oshiro, Dec 4, 2025
  10. 1/3 repo: remove blank line from Documentation/git-repo.adocLucas Seiki Oshiro, Dec 4, 2025
  11. 2/3 repo: use [--format=... | -z] instead of [-z] in git-repo-info synopsisLucas Seiki Oshiro, Dec 4, 2025
  12. 3/3 repo: add -z as an alias for --format=nul to git-repo-structureLucas Seiki Oshiro, Dec 4, 2025
  13. Junio C HamanoDec 11, 2025
  14. Lucas Seiki OshiroDec 18, 2025
  15. Patrick SteinhardtDec 5, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.