From: Lucas Seiki Oshiro Date: Wed, 25 Feb 2026 16:32:09 GMT Subject: [PATCH v2 0/8] repo: refactoring leftover nits Message-ID: <20260225183559.79303-1-lucasseikioshiro@gmail.com> In-Reply-To: <20260218211845.96009-1-lucasseikioshiro@gmail.com> 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 Signed-off-by: Lucas Seiki Oshiro ## 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 ## 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 @@ 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_nul && git repo structure --format=nul >out 2>err && -+ tr "\012" "=" actual && ++ tr "\012\000" "=\012" 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" "=" actual && ++ tr "\012\000" "=\012" 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)