]> git.ipfire.org Git - thirdparty/git.git/commitdiff
cmd-list.perl: fix identifying man sections
authorMartin Ågren <martin.agren@gmail.com>
Fri, 23 Sep 2022 08:07:33 +0000 (10:07 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 23 Sep 2022 17:01:07 +0000 (10:01 -0700)
We attribute each documentation text file to a man section by finding a
line in the file that looks like "gitfoo(<digit>)". Commit cc75e556a9
("scalar: add to 'git help -a' command list", 2022-09-02) updated this
logic to look not only for "gitfoo" but also "scalarfoo". In doing so,
it forgot to account for the fact that after the updated regex has found
a match, the man section is no longer to be found in `$1` but now lives
in `$2`.

This makes our git(1) manpage look as follows:

  Main porcelain commands
       git-add(git)
           Add file contents to the index.

  [...]

       gitk(git)
           The Git repository browser.

       scalar(scalar)
           A tool for managing large Git repositories.

Restore the man sections by not capturing the (git|scalar) part of the
match into `$1`.

As noted by Ævar [1], we could even match any "foo" rather than just
"gitfoo" and "scalarfoo", but that's a larger change. For now, just fix
the regression in cc75e556a9.

[1] https://lore.kernel.org/git/220923.86wn9u4joo.gmgdl@evledraar.gmail.com/#t

Helped-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/cmd-list.perl

index 9515a499a316db4a8e48b81c83f0068e5faf2d22..755a110bc48d7e2b596651ca13664c01192d966c 100755 (executable)
@@ -10,7 +10,7 @@ sub format_one {
        $state = 0;
        open I, '<', "$name.txt" or die "No such file $name.txt";
        while (<I>) {
-               if (/^(git|scalar)[a-z0-9-]*\(([0-9])\)$/) {
+               if (/^(?:git|scalar)[a-z0-9-]*\(([0-9])\)$/) {
                        $mansection = $1;
                        next;
                }