3 use File
::Compare
qw(compare);
6 my ($out, $nameattr) = @_;
7 my ($name, $attr) = @
$nameattr;
8 my ($state, $description);
10 open I
, '<', "$name.txt" or die "No such file $name.txt";
16 if ($state == 1 && /^----$/) {
20 next if ($state != 2);
26 if (!defined $description) {
27 die "No description found in $name.txt";
29 if (my ($verify_name, $text) = ($description =~ /^($name) - (.*)/)) {
30 print $out "gitlink:$name\[1\]::\n\t";
32 print $out "($attr) ";
34 print $out "$text.\n\n";
37 die "Description does not match $name: $description";
46 my ($name, $cat, $attr) = /^(\S+)\s+(.*?)(?:\s+(.*))?$/;
47 push @
{$cmds{$cat}}, [$name, $attr];
50 for my $cat (qw(ancillaryinterrogators
59 my $out = "cmds-$cat.txt";
60 open O
, '>', "$out+" or die "Cannot open output file $out+";
61 for (@
{$cmds{$cat}}) {
66 if (-f
"$out" && compare
("$out", "$out+") == 0) {
70 print STDERR
"$out\n";
71 rename "$out+", "$out";
75 # The following list is sorted with "sort -d" to make it easier
76 # to find entry in the resulting git.html manual page.
80 git
-annotate ancillaryinterrogators
81 git
-apply plumbingmanipulators
82 git
-archimport foreignscminterface
83 git
-archive mainporcelain
84 git
-bisect mainporcelain
85 git
-blame ancillaryinterrogators
86 git
-branch mainporcelain
87 git
-bundle mainporcelain
88 git
-cat
-file plumbinginterrogators
89 git
-check
-attr purehelpers
90 git
-checkout mainporcelain
91 git
-checkout
-index plumbingmanipulators
92 git
-check
-ref-format purehelpers
93 git
-cherry ancillaryinterrogators
94 git
-cherry
-pick mainporcelain
95 git
-citool mainporcelain
96 git
-clean mainporcelain
97 git
-clone mainporcelain
98 git
-commit mainporcelain
99 git
-commit
-tree plumbingmanipulators
100 git
-config ancillarymanipulators
101 git
-count
-objects ancillaryinterrogators
102 git
-cvsexportcommit foreignscminterface
103 git
-cvsimport foreignscminterface
104 git
-cvsserver foreignscminterface
105 git
-daemon synchingrepositories
106 git
-describe mainporcelain
107 git
-diff mainporcelain
108 git
-diff
-files plumbinginterrogators
109 git
-diff
-index plumbinginterrogators
110 git
-diff
-tree plumbinginterrogators
111 git
-fast
-import ancillarymanipulators
112 git
-fetch mainporcelain
113 git
-fetch
-pack synchingrepositories
114 git
-filter
-branch ancillarymanipulators
115 git
-fmt
-merge
-msg purehelpers
116 git
-for-each-ref plumbinginterrogators
117 git
-format
-patch mainporcelain
118 git
-fsck ancillaryinterrogators
120 git
-get
-tar
-commit
-id ancillaryinterrogators
121 git
-grep mainporcelain
122 git
-gui mainporcelain
123 git
-hash
-object plumbingmanipulators
124 git
-http
-fetch synchelpers
125 git
-http
-push synchelpers
126 git
-imap
-send foreignscminterface
127 git
-index-pack plumbingmanipulators
128 git
-init mainporcelain
129 git
-instaweb ancillaryinterrogators
131 git
-log mainporcelain
132 git
-lost
-found ancillarymanipulators deprecated
133 git
-ls
-files plumbinginterrogators
134 git
-ls
-remote plumbinginterrogators
135 git
-ls
-tree plumbinginterrogators
136 git
-mailinfo purehelpers
137 git
-mailsplit purehelpers
138 git
-merge mainporcelain
139 git
-merge
-base plumbinginterrogators
140 git
-merge
-file plumbingmanipulators
141 git
-merge
-index plumbingmanipulators
142 git
-merge
-one
-file purehelpers
143 git
-mergetool ancillarymanipulators
144 git
-merge
-tree ancillaryinterrogators
145 git
-mktag plumbingmanipulators
146 git
-mktree plumbingmanipulators
148 git
-name
-rev plumbinginterrogators
149 git
-pack-objects plumbingmanipulators
150 git
-pack-redundant plumbinginterrogators
151 git
-pack-refs ancillarymanipulators
152 git
-parse
-remote synchelpers
153 git
-patch
-id purehelpers
154 git
-peek
-remote purehelpers
155 git
-prune ancillarymanipulators
156 git
-prune
-packed plumbingmanipulators
157 git
-pull mainporcelain
158 git
-push mainporcelain
159 git
-quiltimport foreignscminterface
160 git
-read-tree plumbingmanipulators
161 git
-rebase mainporcelain
162 git
-receive
-pack synchelpers
163 git
-reflog ancillarymanipulators
164 git
-relink ancillarymanipulators
165 git
-remote ancillarymanipulators
166 git
-repack ancillarymanipulators
167 git
-request
-pull foreignscminterface
168 git
-rerere ancillaryinterrogators
169 git
-reset mainporcelain
170 git
-revert mainporcelain
171 git
-rev
-list plumbinginterrogators
172 git
-rev
-parse ancillaryinterrogators
174 git
-runstatus ancillaryinterrogators
175 git
-send-email foreignscminterface
176 git
-send-pack synchingrepositories
177 git
-shell synchelpers
178 git
-shortlog mainporcelain
179 git
-show mainporcelain
180 git
-show
-branch ancillaryinterrogators
181 git
-show
-index plumbinginterrogators
182 git
-show
-ref plumbinginterrogators
183 git
-sh
-setup purehelpers
184 git
-stash mainporcelain
185 git
-status mainporcelain
186 git
-stripspace purehelpers
187 git
-submodule mainporcelain
188 git
-svn foreignscminterface
189 git
-symbolic
-ref plumbingmanipulators
190 git
-tag mainporcelain
191 git
-tar
-tree plumbinginterrogators deprecated
192 git
-unpack-file plumbinginterrogators
193 git
-unpack-objects plumbingmanipulators
194 git
-update
-index plumbingmanipulators
195 git
-update
-ref plumbingmanipulators
196 git
-update
-server
-info synchingrepositories
197 git
-upload
-archive synchelpers
198 git
-upload
-pack synchelpers
199 git
-var plumbinginterrogators
200 git
-verify
-pack plumbinginterrogators
201 git
-verify
-tag ancillaryinterrogators
202 git
-whatchanged ancillaryinterrogators
203 git
-write-tree plumbingmanipulators