Documentation: remove documentation for removed tools.
[git/git.git] / Documentation / cmd-list.perl
CommitLineData
d7907392
JH
1#!/usr/bin/perl -w
2
3use File::Compare qw(compare);
72fe6a59
JH
4
5sub format_one {
0bf15e74
JH
6 my ($out, $nameattr) = @_;
7 my ($name, $attr) = @$nameattr;
72fe6a59 8 my ($state, $description);
d7907392 9 $state = 0;
72fe6a59
JH
10 open I, '<', "$name.txt" or die "No such file $name.txt";
11 while (<I>) {
12 if (/^NAME$/) {
13 $state = 1;
14 next;
15 }
16 if ($state == 1 && /^----$/) {
17 $state = 2;
18 next;
19 }
20 next if ($state != 2);
21 chomp;
22 $description = $_;
23 last;
24 }
25 close I;
26 if (!defined $description) {
27 die "No description found in $name.txt";
28 }
29 if (my ($verify_name, $text) = ($description =~ /^($name) - (.*)/)) {
0bf15e74
JH
30 print $out "gitlink:$name\[1\]::\n\t";
31 if ($attr) {
32 print $out "($attr) ";
33 }
34 print $out "$text.\n\n";
72fe6a59
JH
35 }
36 else {
37 die "Description does not match $name: $description";
38 }
39}
40
41my %cmds = ();
42while (<DATA>) {
43 next if /^#/;
44
45 chomp;
0bf15e74
JH
46 my ($name, $cat, $attr) = /^(\S+)\s+(.*?)(?:\s+(.*))?$/;
47 push @{$cmds{$cat}}, [$name, $attr];
72fe6a59
JH
48}
49
50for my $cat (qw(ancillaryinterrogators
51 ancillarymanipulators
52 mainporcelain
53 plumbinginterrogators
54 plumbingmanipulators
89bf2077
JH
55 synchingrepositories
56 foreignscminterface
57 purehelpers
58 synchelpers)) {
72fe6a59
JH
59 my $out = "cmds-$cat.txt";
60 open O, '>', "$out+" or die "Cannot open output file $out+";
61 for (@{$cmds{$cat}}) {
62 format_one(\*O, $_);
63 }
64 close O;
d7907392
JH
65
66 if (-f "$out" && compare("$out", "$out+") == 0) {
67 unlink "$out+";
68 }
69 else {
70 print STDERR "$out\n";
71 rename "$out+", "$out";
72 }
72fe6a59
JH
73}
74
aec2196a
JH
75# The following list is sorted with "sort -d" to make it easier
76# to find entry in the resulting git.html manual page.
72fe6a59
JH
77__DATA__
78git-add mainporcelain
79git-am mainporcelain
80git-annotate ancillaryinterrogators
72fe6a59 81git-apply plumbingmanipulators
89bf2077 82git-archimport foreignscminterface
72fe6a59
JH
83git-archive mainporcelain
84git-bisect mainporcelain
85git-blame ancillaryinterrogators
86git-branch mainporcelain
2e0afafe 87git-bundle mainporcelain
72fe6a59 88git-cat-file plumbinginterrogators
b568a503 89git-check-attr purehelpers
aec2196a
JH
90git-checkout mainporcelain
91git-checkout-index plumbingmanipulators
89bf2077 92git-check-ref-format purehelpers
72fe6a59
JH
93git-cherry ancillaryinterrogators
94git-cherry-pick mainporcelain
37cd4f7e 95git-citool mainporcelain
72fe6a59
JH
96git-clean mainporcelain
97git-clone mainporcelain
98git-commit mainporcelain
99git-commit-tree plumbingmanipulators
aec2196a 100git-config ancillarymanipulators
72fe6a59 101git-count-objects ancillaryinterrogators
89bf2077
JH
102git-cvsexportcommit foreignscminterface
103git-cvsimport foreignscminterface
104git-cvsserver foreignscminterface
105git-daemon synchingrepositories
106git-describe mainporcelain
aec2196a 107git-diff mainporcelain
72fe6a59
JH
108git-diff-files plumbinginterrogators
109git-diff-index plumbinginterrogators
72fe6a59 110git-diff-tree plumbinginterrogators
81f915e7 111git-fast-import ancillarymanipulators
72fe6a59
JH
112git-fetch mainporcelain
113git-fetch-pack synchingrepositories
c401b33c 114git-filter-branch ancillarymanipulators
89bf2077 115git-fmt-merge-msg purehelpers
72fe6a59
JH
116git-for-each-ref plumbinginterrogators
117git-format-patch mainporcelain
df391b19 118git-fsck ancillaryinterrogators
89bf2077 119git-gc mainporcelain
72fe6a59
JH
120git-get-tar-commit-id ancillaryinterrogators
121git-grep mainporcelain
37cd4f7e 122git-gui mainporcelain
72fe6a59 123git-hash-object plumbingmanipulators
89bf2077
JH
124git-http-fetch synchelpers
125git-http-push synchelpers
126git-imap-send foreignscminterface
72fe6a59 127git-index-pack plumbingmanipulators
89bf2077 128git-init mainporcelain
72fe6a59
JH
129git-instaweb ancillaryinterrogators
130gitk mainporcelain
72fe6a59 131git-log mainporcelain
0bf15e74 132git-lost-found ancillarymanipulators deprecated
72fe6a59 133git-ls-files plumbinginterrogators
89bf2077 134git-ls-remote plumbinginterrogators
72fe6a59 135git-ls-tree plumbinginterrogators
89bf2077
JH
136git-mailinfo purehelpers
137git-mailsplit purehelpers
aec2196a 138git-merge mainporcelain
72fe6a59
JH
139git-merge-base plumbinginterrogators
140git-merge-file plumbingmanipulators
141git-merge-index plumbingmanipulators
89bf2077 142git-merge-one-file purehelpers
86952cda 143git-mergetool ancillarymanipulators
aec2196a 144git-merge-tree ancillaryinterrogators
72fe6a59
JH
145git-mktag plumbingmanipulators
146git-mktree plumbingmanipulators
147git-mv mainporcelain
148git-name-rev plumbinginterrogators
149git-pack-objects plumbingmanipulators
150git-pack-redundant plumbinginterrogators
89bf2077
JH
151git-pack-refs ancillarymanipulators
152git-parse-remote synchelpers
153git-patch-id purehelpers
154git-peek-remote purehelpers
72fe6a59
JH
155git-prune ancillarymanipulators
156git-prune-packed plumbingmanipulators
157git-pull mainporcelain
158git-push mainporcelain
89bf2077 159git-quiltimport foreignscminterface
72fe6a59
JH
160git-read-tree plumbingmanipulators
161git-rebase mainporcelain
89bf2077 162git-receive-pack synchelpers
72fe6a59
JH
163git-reflog ancillarymanipulators
164git-relink ancillarymanipulators
727d38d7 165git-remote ancillarymanipulators
aec2196a 166git-repack ancillarymanipulators
89bf2077
JH
167git-request-pull foreignscminterface
168git-rerere ancillaryinterrogators
72fe6a59 169git-reset mainporcelain
72fe6a59
JH
170git-revert mainporcelain
171git-rev-list plumbinginterrogators
172git-rev-parse ancillaryinterrogators
173git-rm mainporcelain
174git-runstatus ancillaryinterrogators
89bf2077 175git-send-email foreignscminterface
72fe6a59 176git-send-pack synchingrepositories
89bf2077 177git-shell synchelpers
72fe6a59
JH
178git-shortlog mainporcelain
179git-show mainporcelain
89bf2077 180git-show-branch ancillaryinterrogators
72fe6a59
JH
181git-show-index plumbinginterrogators
182git-show-ref plumbinginterrogators
89bf2077 183git-sh-setup purehelpers
09ccdb63 184git-stash mainporcelain
72fe6a59 185git-status mainporcelain
89bf2077 186git-stripspace purehelpers
70c7ac22 187git-submodule mainporcelain
89bf2077 188git-svn foreignscminterface
89bf2077
JH
189git-symbolic-ref plumbingmanipulators
190git-tag mainporcelain
0bf15e74 191git-tar-tree plumbinginterrogators deprecated
72fe6a59
JH
192git-unpack-file plumbinginterrogators
193git-unpack-objects plumbingmanipulators
194git-update-index plumbingmanipulators
89bf2077 195git-update-ref plumbingmanipulators
72fe6a59 196git-update-server-info synchingrepositories
89bf2077
JH
197git-upload-archive synchelpers
198git-upload-pack synchelpers
72fe6a59
JH
199git-var plumbinginterrogators
200git-verify-pack plumbinginterrogators
89bf2077
JH
201git-verify-tag ancillaryinterrogators
202git-whatchanged ancillaryinterrogators
72fe6a59 203git-write-tree plumbingmanipulators