2007-04-06 07:17:20 +02:00
|
|
|
#!/usr/bin/perl -w
|
|
|
|
|
|
|
|
use File::Compare qw(compare);
|
2007-01-19 01:02:13 +01:00
|
|
|
|
|
|
|
sub format_one {
|
|
|
|
my ($out, $name) = @_;
|
|
|
|
my ($state, $description);
|
2007-04-06 07:17:20 +02:00
|
|
|
$state = 0;
|
2007-01-19 01:02:13 +01:00
|
|
|
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
|
2007-01-19 07:32:38 +01:00
|
|
|
synchingrepositories
|
|
|
|
foreignscminterface
|
|
|
|
purehelpers
|
|
|
|
synchelpers)) {
|
2007-01-19 01:02:13 +01:00
|
|
|
my $out = "cmds-$cat.txt";
|
|
|
|
open O, '>', "$out+" or die "Cannot open output file $out+";
|
|
|
|
for (@{$cmds{$cat}}) {
|
|
|
|
format_one(\*O, $_);
|
|
|
|
}
|
|
|
|
close O;
|
2007-04-06 07:17:20 +02:00
|
|
|
|
|
|
|
if (-f "$out" && compare("$out", "$out+") == 0) {
|
|
|
|
unlink "$out+";
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
print STDERR "$out\n";
|
|
|
|
rename "$out+", "$out";
|
|
|
|
}
|
2007-01-19 01:02:13 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
__DATA__
|
|
|
|
git-add mainporcelain
|
|
|
|
git-am mainporcelain
|
|
|
|
git-annotate ancillaryinterrogators
|
|
|
|
git-apply plumbingmanipulators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-archimport foreignscminterface
|
2007-01-19 01:02:13 +01:00
|
|
|
git-archive mainporcelain
|
|
|
|
git-bisect mainporcelain
|
|
|
|
git-blame ancillaryinterrogators
|
|
|
|
git-branch mainporcelain
|
Add git-bundle: move objects and references by archive
Some workflows require use of repositories on machines that cannot be
connected, preventing use of git-fetch / git-push to transport objects and
references between the repositories.
git-bundle provides an alternate transport mechanism, effectively allowing
git-fetch and git-pull to operate using sneakernet transport. `git-bundle
create` allows the user to create a bundle containing one or more branches
or tags, but with specified basis assumed to exist on the target
repository. At the receiving end, git-bundle acts like git-fetch-pack,
allowing the user to invoke git-fetch or git-pull using the bundle file as
the URL. git-fetch and git-ls-remote determine they have a bundle URL by
checking that the URL points to a file, but are otherwise unchanged in
operation with bundles.
The original patch was done by Mark Levedahl <mdl123@verizon.net>.
It was updated to make git-bundle a builtin, and get rid of the tar
format: now, the first line is supposed to say "# v2 git bundle", the next
lines either contain a prerequisite ("-" followed by the hash of the
needed commit), or a ref (the hash of a commit, followed by the name of
the ref), and finally the pack. As a result, the bundle argument can be
"-" now.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-22 01:59:14 +01:00
|
|
|
git-bundle mainporcelain
|
2007-01-19 01:02:13 +01:00
|
|
|
git-cat-file plumbinginterrogators
|
|
|
|
git-checkout-index plumbingmanipulators
|
|
|
|
git-checkout mainporcelain
|
2007-04-15 03:27:20 +02:00
|
|
|
git-check-attr purehelpers
|
2007-01-19 07:32:38 +01:00
|
|
|
git-check-ref-format purehelpers
|
2007-01-19 01:02:13 +01:00
|
|
|
git-cherry ancillaryinterrogators
|
|
|
|
git-cherry-pick mainporcelain
|
2007-06-21 06:51:00 +02:00
|
|
|
git-citool mainporcelain
|
2007-01-19 01:02:13 +01:00
|
|
|
git-clean mainporcelain
|
|
|
|
git-clone mainporcelain
|
|
|
|
git-commit mainporcelain
|
|
|
|
git-commit-tree plumbingmanipulators
|
|
|
|
git-convert-objects ancillarymanipulators
|
|
|
|
git-count-objects ancillaryinterrogators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-cvsexportcommit foreignscminterface
|
|
|
|
git-cvsimport foreignscminterface
|
|
|
|
git-cvsserver foreignscminterface
|
|
|
|
git-daemon synchingrepositories
|
|
|
|
git-describe mainporcelain
|
2007-01-19 01:02:13 +01:00
|
|
|
git-diff-files plumbinginterrogators
|
|
|
|
git-diff-index plumbinginterrogators
|
|
|
|
git-diff mainporcelain
|
|
|
|
git-diff-tree plumbinginterrogators
|
2007-02-07 23:30:47 +01:00
|
|
|
git-fast-import ancillarymanipulators
|
2007-01-19 01:02:13 +01:00
|
|
|
git-fetch mainporcelain
|
|
|
|
git-fetch-pack synchingrepositories
|
2007-01-19 07:32:38 +01:00
|
|
|
git-fmt-merge-msg purehelpers
|
2007-01-19 01:02:13 +01:00
|
|
|
git-for-each-ref plumbinginterrogators
|
|
|
|
git-format-patch mainporcelain
|
2007-01-29 01:33:58 +01:00
|
|
|
git-fsck ancillaryinterrogators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-gc mainporcelain
|
2007-01-19 01:02:13 +01:00
|
|
|
git-get-tar-commit-id ancillaryinterrogators
|
|
|
|
git-grep mainporcelain
|
2007-06-21 06:51:00 +02:00
|
|
|
git-gui mainporcelain
|
2007-01-19 01:02:13 +01:00
|
|
|
git-hash-object plumbingmanipulators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-http-fetch synchelpers
|
|
|
|
git-http-push synchelpers
|
|
|
|
git-imap-send foreignscminterface
|
2007-01-19 01:02:13 +01:00
|
|
|
git-index-pack plumbingmanipulators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-init mainporcelain
|
2007-01-19 01:02:13 +01:00
|
|
|
git-instaweb ancillaryinterrogators
|
|
|
|
gitk mainporcelain
|
|
|
|
git-local-fetch synchingrepositories
|
|
|
|
git-log mainporcelain
|
|
|
|
git-lost-found ancillarymanipulators
|
|
|
|
git-ls-files plumbinginterrogators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-ls-remote plumbinginterrogators
|
2007-01-19 01:02:13 +01:00
|
|
|
git-ls-tree plumbinginterrogators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-mailinfo purehelpers
|
|
|
|
git-mailsplit purehelpers
|
2007-01-19 01:02:13 +01:00
|
|
|
git-merge-base plumbinginterrogators
|
|
|
|
git-merge-file plumbingmanipulators
|
|
|
|
git-merge-index plumbingmanipulators
|
|
|
|
git-merge mainporcelain
|
2007-01-19 07:32:38 +01:00
|
|
|
git-merge-one-file purehelpers
|
2007-01-19 01:02:13 +01:00
|
|
|
git-merge-tree ancillaryinterrogators
|
2007-03-14 09:29:26 +01:00
|
|
|
git-mergetool ancillarymanipulators
|
2007-01-19 01:02:13 +01:00
|
|
|
git-mktag plumbingmanipulators
|
|
|
|
git-mktree plumbingmanipulators
|
|
|
|
git-mv mainporcelain
|
|
|
|
git-name-rev plumbinginterrogators
|
|
|
|
git-pack-objects plumbingmanipulators
|
|
|
|
git-pack-redundant plumbinginterrogators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-pack-refs ancillarymanipulators
|
|
|
|
git-parse-remote synchelpers
|
|
|
|
git-patch-id purehelpers
|
|
|
|
git-peek-remote purehelpers
|
2007-01-19 01:02:13 +01:00
|
|
|
git-prune ancillarymanipulators
|
|
|
|
git-prune-packed plumbingmanipulators
|
|
|
|
git-pull mainporcelain
|
|
|
|
git-push mainporcelain
|
2007-01-19 07:32:38 +01:00
|
|
|
git-quiltimport foreignscminterface
|
2007-01-19 01:02:13 +01:00
|
|
|
git-read-tree plumbingmanipulators
|
|
|
|
git-rebase mainporcelain
|
2007-01-19 07:32:38 +01:00
|
|
|
git-receive-pack synchelpers
|
2007-01-19 01:02:13 +01:00
|
|
|
git-reflog ancillarymanipulators
|
|
|
|
git-relink ancillarymanipulators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-repack ancillarymanipulators
|
2007-01-29 01:16:53 +01:00
|
|
|
git-config ancillarymanipulators
|
2007-02-14 07:42:51 +01:00
|
|
|
git-remote ancillarymanipulators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-request-pull foreignscminterface
|
|
|
|
git-rerere ancillaryinterrogators
|
2007-01-19 01:02:13 +01:00
|
|
|
git-reset mainporcelain
|
|
|
|
git-revert mainporcelain
|
|
|
|
git-rev-list plumbinginterrogators
|
|
|
|
git-rev-parse ancillaryinterrogators
|
|
|
|
git-rm mainporcelain
|
|
|
|
git-runstatus ancillaryinterrogators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-send-email foreignscminterface
|
2007-01-19 01:02:13 +01:00
|
|
|
git-send-pack synchingrepositories
|
2007-01-19 07:32:38 +01:00
|
|
|
git-shell synchelpers
|
2007-01-19 01:02:13 +01:00
|
|
|
git-shortlog mainporcelain
|
|
|
|
git-show mainporcelain
|
2007-01-19 07:32:38 +01:00
|
|
|
git-show-branch ancillaryinterrogators
|
2007-01-19 01:02:13 +01:00
|
|
|
git-show-index plumbinginterrogators
|
|
|
|
git-show-ref plumbinginterrogators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-sh-setup purehelpers
|
2007-01-19 01:02:13 +01:00
|
|
|
git-ssh-fetch synchingrepositories
|
|
|
|
git-ssh-upload synchingrepositories
|
|
|
|
git-status mainporcelain
|
2007-01-19 07:32:38 +01:00
|
|
|
git-stripspace purehelpers
|
2007-05-26 15:56:40 +02:00
|
|
|
git-submodule mainporcelain
|
2007-01-19 07:32:38 +01:00
|
|
|
git-svn foreignscminterface
|
|
|
|
git-svnimport foreignscminterface
|
|
|
|
git-symbolic-ref plumbingmanipulators
|
|
|
|
git-tag mainporcelain
|
2007-01-19 01:02:13 +01:00
|
|
|
git-tar-tree plumbinginterrogators
|
|
|
|
git-unpack-file plumbinginterrogators
|
|
|
|
git-unpack-objects plumbingmanipulators
|
|
|
|
git-update-index plumbingmanipulators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-update-ref plumbingmanipulators
|
2007-01-19 01:02:13 +01:00
|
|
|
git-update-server-info synchingrepositories
|
2007-01-19 07:32:38 +01:00
|
|
|
git-upload-archive synchelpers
|
|
|
|
git-upload-pack synchelpers
|
2007-01-19 01:02:13 +01:00
|
|
|
git-var plumbinginterrogators
|
|
|
|
git-verify-pack plumbinginterrogators
|
2007-01-19 07:32:38 +01:00
|
|
|
git-verify-tag ancillaryinterrogators
|
|
|
|
git-whatchanged ancillaryinterrogators
|
2007-01-19 01:02:13 +01:00
|
|
|
git-write-tree plumbingmanipulators
|