]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Documentation: don't hardcode command categories twice
authorJunio C Hamano <gitster@pobox.com>
Wed, 5 Aug 2020 01:19:06 +0000 (01:19 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 5 Aug 2020 01:34:02 +0000 (18:34 -0700)
Instead of hard-coding the list of command categories in both
`Documentation/Makefile` and `Documentation/cmd-list.perl`, make the
Makefile the authoritative source and tweak `cmd-list.perl` so that it
receives the list of command categories as argument.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/Makefile
Documentation/cmd-list.perl

index 39f6fc8de7ddfcf3d7e606cd28042926f0713be7..eb9c7e2b0e6fef4e3817222c63be5af172cc47af 100644 (file)
@@ -302,7 +302,7 @@ $(cmds_txt): cmd-list.made
 
 cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
        $(QUIET_GEN)$(RM) $@ && \
-       $(PERL_PATH) ./cmd-list.perl ../command-list.txt $(QUIET_STDERR) && \
+       $(PERL_PATH) ./cmd-list.perl ../command-list.txt $(cmds_txt) $(QUIET_STDERR) && \
        date >$@
 
 mergetools_txt = mergetools-diff.txt mergetools-merge.txt
index 5aa73cfe458d9485510c6a9a67e38e522394b62a..ee96de53db39b51fcd93274b59bbe7291b0338a9 100755 (executable)
@@ -38,12 +38,15 @@ sub format_one {
        }
 }
 
-while (<>) {
+my ($input, @categories) = @ARGV;
+
+open IN, "<$input";
+while (<IN>) {
        last if /^### command list/;
 }
 
 my %cmds = ();
-for (sort <>) {
+for (sort <IN>) {
        next if /^#/;
 
        chomp;
@@ -51,17 +54,10 @@ for (sort <>) {
        $attr = '' unless defined $attr;
        push @{$cmds{$cat}}, [$name, " $attr "];
 }
+close IN;
 
-for my $cat (qw(ancillaryinterrogators
-               ancillarymanipulators
-               mainporcelain
-               plumbinginterrogators
-               plumbingmanipulators
-               synchingrepositories
-               foreignscminterface
-               purehelpers
-               synchelpers)) {
-       my $out = "cmds-$cat.txt";
+for my $out (@categories) {
+       my ($cat) = $out =~ /^cmds-(.*)\.txt$/;
        open O, '>', "$out+" or die "Cannot open output file $out+";
        for (@{$cmds{$cat}}) {
                format_one(\*O, $_);