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