Subject: [PATCH v2 0/8] repo: refactoring leftover nits

From: Lucas Seiki Oshiro <[email-masked]>
Date: Wed, 25 Feb 2026 13:32:09 -0300

Hi!

There are only three changes in this version:

1. Applying Eric's suggestion of instructing to name array plural if we're
   dealing with the values as a whole
2. Making it clear why we should replace the NUL characters in the files
   consumed by tes_cmp
3. Replacing characters in just one tr call instead of two

Lucas Seiki Oshiro (8):
  CodingGuidelines: instruct to name arrays in singular
  repo: rename repo_info_fields to repo_info_field
  repo: replace get_value_fn_for_key by get_repo_info_field
  repo: rename struct field to repo_info_field
  t1900: rename t1900-repo to t1900-repo-info
  t1901: adjust nul format output instead of expected value
  Documentation/git-repo: replace 'NUL' with '_NUL_'
  Documentation/git-repo: capitalize format descriptions

 Documentation/CodingGuidelines          | 13 ++++++++
 Documentation/git-repo.adoc             |  8 ++---
 builtin/repo.c                          | 44 ++++++++++++-------------
 t/meson.build                           |  2 +-
 t/{t1900-repo.sh => t1900-repo-info.sh} |  0
 t/t1901-repo-structure.sh               |  8 ++---
 6 files changed, 44 insertions(+), 31 deletions(-)
 rename t/{t1900-repo.sh => t1900-repo-info.sh} (100%)

Range-diff against v1:
1:  041d00fdbf ! 1:  51cfa0901e CodingGuidelines: instruct to name arrays in singular
    @@ Commit message
         Add a new rule to CodingGuidelines asking for arrays to be named in
         singular instead of plural.
     
    +    Helped-by: Eric Sunshine <[email-masked]>
         Signed-off-by: Lucas Seiki Oshiro <[email-masked]>
     
      ## Documentation/CodingGuidelines ##
    @@ Documentation/CodingGuidelines: For C programs:
         unsigned other_field:1;
         unsigned field_with_longer_name:1;
      
    -+ - Array names should be named in the singular form. E.g.:
    ++ - Array names should be named in the singular form if the individual items are
    ++   subject of use. E.g.:
     +
     +         char *dog[] = ...;
    ++         walk_dog(dog[0]);
    ++         walk_dog(dog[1]);
     +
    -+   and not:
    ++   Cases where the array is employed as a whole rather than as its unit parts,
    ++   the plural forms is preferable. E.g:
     +
     +         char *dogs[] = ...;
    ++         walk_all_dogs(dogs);
     +
      For Perl programs:
      
2:  ccf0e85919 = 2:  35feb400af repo: rename repo_info_fields to repo_info_field
3:  eccfcf8164 = 3:  f2926725a2 repo: replace get_value_fn_for_key by get_repo_info_field
4:  b360e3ea11 = 4:  03874e8021 repo: rename struct field to repo_info_field
5:  3c4ae0550d = 5:  02682a08e7 t1900: rename t1900-repo to t1900-repo-info
6:  63b516b424 ! 6:  10accd800a t1901: use tr in git repo structure output instead of expected value
    @@ Metadata
     Author: Lucas Seiki Oshiro <[email-masked]>
     
      ## Commit message ##
    -    t1901: use tr in git repo structure output instead of expected value
    +    t1901: adjust nul format output instead of expected value
     
         The test 'keyvalue and nul format', as it description says, test both
    -    keyvalue and nul format. These formats are similar, differing only in
    +    `keyvalue` and `nul` format. These formats are similar, differing only in
         their field separator (= in the former, LF in the latter) and their
         record separator (LF in the former, NUL in the latter). This way, both
         formats can be tested using the same expected output and only replacing
         the separators in one of the output formats.
     
    +    However, it is not desirable to have a NUL character in the files
    +    compared by test_cmp because, if that assetion fails, diff will consider
    +    them binary files and won't display the differences properly.
    +
         Adjust the output of `git repo structure --format=nul` in t1901, matching the
         --format=keyvalue ones. Compare this output against the same value expected
    -    from --format=keyvalue.
    +    from --format=keyvalue, without using files with NUL characters in
    +    test_cmp.
     
         Signed-off-by: Lucas Seiki Oshiro <[email-masked]>
     
    @@ t/t1901-repo-structure.sh: test_expect_success SHA1 'lines and nul format' '
     -		# Replace key and value delimiters for nul format.
     -		tr "\n=" "\0\n" <expect >expect_nul &&
      		git repo structure --format=nul >out 2>err &&
    -+		tr "\012" "=" <out | tr "\000" "\012" >actual &&
    ++		tr "\012\000" "=\012" <out >actual &&
      
     -		test_cmp expect_nul out &&
     +		test_cmp expect actual &&
    @@ t/t1901-repo-structure.sh: test_expect_success SHA1 'lines and nul format' '
      		# "-z", as a synonym to "--format=nul", participates in the
      		# usual "last one wins" rule.
      		git repo structure --format=table -z >out 2>err &&
    -+		tr "\012" "=" <out | tr "\000" "\012" >actual &&
    ++		tr "\012\000" "=\012" <out >actual &&
      
     -		test_cmp expect_nul out &&
     +		test_cmp expect actual &&
7:  6e0be4e746 = 7:  508a2af2e3 Documentation/git-repo: replace 'NUL' with '_NUL_'
8:  e4125e2370 = 8:  cbf17b7abd Documentation/git-repo: capitalize format descriptions
-- 
2.50.1 (Apple Git-155)