summaryrefslogtreecommitdiff
path: root/git-archimport.perl
diff options
context:
space:
mode:
authormartin@catalyst.net.nz <martin@catalyst.net.nz>2005-09-11 09:26:05 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-09-11 17:51:54 (GMT)
commit241b59675fb9f97531b9d76ae949d61da65c1f3d (patch)
tree7184699d96b7fe45ece9d9989b1db61df265ee4c /git-archimport.perl
parenta5c500b76cfdc3da0f8cb36dadb5f4ba7ecff401 (diff)
downloadgit-241b59675fb9f97531b9d76ae949d61da65c1f3d.zip
git-241b59675fb9f97531b9d76ae949d61da65c1f3d.tar.gz
git-241b59675fb9f97531b9d76ae949d61da65c1f3d.tar.bz2
[PATCH] archimport - update in-script doco, options tidyup
Updated the usage/help message to match asciidoc documentation. The perldoc documentation now includes the first paragraph from the asciidoc documentation and points users to the manpage. Updated TODO section. Removed some redundant options from the getopt() invocation. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-archimport.perl')
-rwxr-xr-xgit-archimport.perl33
1 files changed, 16 insertions, 17 deletions
diff --git a/git-archimport.perl b/git-archimport.perl
index 06d8149..7ae809e 100755
--- a/git-archimport.perl
+++ b/git-archimport.perl
@@ -6,23 +6,27 @@
# The basic idea is to walk the output of tla abrowse,
# fetch the changesets and apply them.
#
+
=head1 Invocation
- git-archimport -i <archive>/<branch> [<archive>/<branch>]
- [ <archive>/<branch> ]
+ git-archimport [ -h ] [ -v ] [ -T ] [ -t tempdir ] <archive>/<branch> [ <archive>/<branch> ]
- The script expects you to provide the key roots where it can start the
- import from an 'initial import' or 'tag' type of Arch commit. It will
- then follow all the branching and tagging within the provided roots.
+Imports a project from one or more Arch repositories. It will follow branches
+and repositories within the namespaces defined by the <archive/branch>
+parameters suppplied. If it cannot find the remote branch a merge comes from
+it will just import it as a regular commit. If it can find it, it will mark it
+as a merge whenever possible.
- It will die if it sees branches that have different roots.
+See man (1) git-archimport for more details.
-=head2 TODO
+=head1 TODO
- - keep track of merged patches, and mark a git merge when it happens
- - smarter rules to parse the archive history "up" and "down"
- - be able to continue an import where we left off
+ - create tag objects instead of ref tags
- audit shell-escaping of filenames
+ - better handling of temp directories
+ - use GIT_DIR instead of hardcoded ".git"
+ - hide our private tags somewhere smarter
+ - find a way to make "cat *patches | patch" safe even when patchfiles are missing newlines
=head1 Devel tricks
@@ -54,14 +58,13 @@ our($opt_h,$opt_v, $opt_T,
sub usage() {
print STDERR <<END;
Usage: ${\basename $0} # fetch/update GIT from Arch
- [ -h ] [ -v ] [ -T ]
- [ -C GIT_repository ] [ -t tempdir ]
+ [ -h ] [ -v ] [ -T ] [ -t tempdir ]
repository/arch-branch [ repository/arch-branch] ...
END
exit(1);
}
-getopts("ThviC:t:") or usage();
+getopts("Thvt:") or usage();
usage if $opt_h;
@ARGV >= 1 or usage();
@@ -71,10 +74,6 @@ my $tmp = $opt_t;
$tmp ||= '/tmp';
$tmp .= '/git-archimport/';
-my $git_tree = $opt_C;
-$git_tree ||= ".";
-
-
my @psets = (); # the collection
my %psets = (); # the collection, by name