diff --git a/git-archimport.perl b/git-archimport.perl index 06d8149664..7ae809e442 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 / [/] - [ / ] + git-archimport [ -h ] [ -v ] [ -T ] [ -t tempdir ] / [ / ] - 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 +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 <= 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