]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/cmd-list.perl
Documentation: generated cmds-*.txt does not depend on git.txt
[thirdparty/git.git] / Documentation / cmd-list.perl
CommitLineData
72fe6a59
JH
1#
2
3sub format_one {
4 my ($out, $name) = @_;
5 my ($state, $description);
6 open I, '<', "$name.txt" or die "No such file $name.txt";
7 while (<I>) {
8 if (/^NAME$/) {
9 $state = 1;
10 next;
11 }
12 if ($state == 1 && /^----$/) {
13 $state = 2;
14 next;
15 }
16 next if ($state != 2);
17 chomp;
18 $description = $_;
19 last;
20 }
21 close I;
22 if (!defined $description) {
23 die "No description found in $name.txt";
24 }
25 if (my ($verify_name, $text) = ($description =~ /^($name) - (.*)/)) {
26 print $out "gitlink:$name\[1\]::\n";
27 print $out "\t$text.\n\n";
28 }
29 else {
30 die "Description does not match $name: $description";
31 }
32}
33
34my %cmds = ();
35while (<DATA>) {
36 next if /^#/;
37
38 chomp;
39 my ($name, $cat) = /^(\S+)\s+(.*)$/;
40 push @{$cmds{$cat}}, $name;
41}
42
43for my $cat (qw(ancillaryinterrogators
44 ancillarymanipulators
45 mainporcelain
46 plumbinginterrogators
47 plumbingmanipulators
48 synchingrepositories)) {
49 my $out = "cmds-$cat.txt";
50 open O, '>', "$out+" or die "Cannot open output file $out+";
51 for (@{$cmds{$cat}}) {
52 format_one(\*O, $_);
53 }
54 close O;
55 rename "$out+", "$out";
56}
57
58__DATA__
59git-add mainporcelain
60git-am mainporcelain
61git-annotate ancillaryinterrogators
62git-applymbox mainporcelain
63git-applypatch ancillarymanipulators
64git-apply plumbingmanipulators
65git-archimport ancillarymanipulators
66git-archive mainporcelain
67git-bisect mainporcelain
68git-blame ancillaryinterrogators
69git-branch mainporcelain
70git-cat-file plumbinginterrogators
71git-checkout-index plumbingmanipulators
72git-checkout mainporcelain
73git-check-ref-format ancillaryinterrogators
74git-cherry ancillaryinterrogators
75git-cherry-pick mainporcelain
76git-clean mainporcelain
77git-clone mainporcelain
78git-commit mainporcelain
79git-commit-tree plumbingmanipulators
80git-convert-objects ancillarymanipulators
81git-count-objects ancillaryinterrogators
82git-cvsexportcommit ancillarymanipulators
83git-cvsimport ancillarymanipulators
84git-cvsserver ancillarymanipulators
85git-daemon ancillaryinterrogators
86git-describe plumbinginterrogators
87git-diff-files plumbinginterrogators
88git-diff-index plumbinginterrogators
89git-diff mainporcelain
90git-diff-stages plumbinginterrogators
91git-diff-tree plumbinginterrogators
92git-fetch mainporcelain
93git-fetch-pack synchingrepositories
94git-fmt-merge-msg ancillaryinterrogators
95git-for-each-ref plumbinginterrogators
96git-format-patch mainporcelain
97git-fsck-objects plumbinginterrogators
98git-gc ancillarymanipulators
99git-get-tar-commit-id ancillaryinterrogators
100git-grep mainporcelain
101git-hash-object plumbingmanipulators
102git-http-fetch synchingrepositories
103git-http-push synchingrepositories
104git-imap-send ancillaryinterrogators
105git-index-pack plumbingmanipulators
106git-init plumbingmanipulators
107git-instaweb ancillaryinterrogators
108gitk mainporcelain
109git-local-fetch synchingrepositories
110git-log mainporcelain
111git-lost-found ancillarymanipulators
112git-ls-files plumbinginterrogators
113git-ls-remote mainporcelain
114git-ls-tree plumbinginterrogators
115git-mailinfo ancillaryinterrogators
116git-mailsplit ancillaryinterrogators
117git-merge-base plumbinginterrogators
118git-merge-file plumbingmanipulators
119git-merge-index plumbingmanipulators
120git-merge mainporcelain
121git-merge-one-file ancillarymanipulators
122git-merge-tree ancillaryinterrogators
123git-mktag plumbingmanipulators
124git-mktree plumbingmanipulators
125git-mv mainporcelain
126git-name-rev plumbinginterrogators
127git-pack-objects plumbingmanipulators
128git-pack-redundant plumbinginterrogators
129git-pack-refs mainporcelain
130git-parse-remote ancillaryinterrogators
131git-patch-id ancillaryinterrogators
132git-peek-remote synchingrepositories
133git-prune ancillarymanipulators
134git-prune-packed plumbingmanipulators
135git-pull mainporcelain
136git-push mainporcelain
137git-quiltimport ancillarymanipulators
138git-read-tree plumbingmanipulators
139git-rebase mainporcelain
140git-receive-pack synchingrepositories
141git-reflog ancillarymanipulators
142git-relink ancillarymanipulators
143git-repack mainporcelain
144git-repo-config plumbingmanipulators
145git-request-pull ancillaryinterrogators
146git-rerere mainporcelain
147git-reset mainporcelain
148git-resolve mainporcelain
149git-revert mainporcelain
150git-rev-list plumbinginterrogators
151git-rev-parse ancillaryinterrogators
152git-rm mainporcelain
153git-runstatus ancillaryinterrogators
154git-send-email ancillaryinterrogators
155git-send-pack synchingrepositories
156git-shell synchingrepositories
157git-shortlog mainporcelain
158git-show mainporcelain
159git-show-branch mainporcelain
160git-show-index plumbinginterrogators
161git-show-ref plumbinginterrogators
162git-sh-setup ancillarymanipulators
163git-ssh-fetch synchingrepositories
164git-ssh-upload synchingrepositories
165git-status mainporcelain
166git-stripspace ancillaryinterrogators
167git-svn ancillarymanipulators
168git-svnimport ancillarymanipulators
169git-symbolic-ref ancillaryinterrogators
170git-symbolic-ref ancillarymanipulators
171git-tag ancillarymanipulators
172git-tar-tree plumbinginterrogators
173git-unpack-file plumbinginterrogators
174git-unpack-objects plumbingmanipulators
175git-update-index plumbingmanipulators
176git-update-ref ancillarymanipulators
177git-update-server-info synchingrepositories
178git-upload-archive synchingrepositories
179git-upload-pack synchingrepositories
180git-var plumbinginterrogators
181git-verify-pack plumbinginterrogators
182git-verify-tag mainporcelain
183git-whatchanged mainporcelain
184git-write-tree plumbingmanipulators