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