cmd-list.perl: fix identifying man sections

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
           Add file contents to the index.


           The Git repository browser.

           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.


Helped-by: Ævar Arnfjörð Bjarmason <>
Signed-off-by: Martin Ågren <>
Signed-off-by: Junio C Hamano <>
Martin Ågren 2 months ago committed by Junio C Hamano
parent 4b79ee4b0c
commit 32c6fff4b8
  1. 2

@ -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;