{"thread":{"id":"1769","subject":"[PATCH 3/5] archimport - update in-script doco, options tidyup","startedAt":"2005-09-11T09:26:05Z","lastAt":"2005-09-11T09:26:05Z","messageCount":2,"participants":["martin@catalyst.net.nz"],"isPatch":true,"patchVersion":1,"patchTotal":5},"messages":[{"id":"8278","messageId":"11264307653007-git-send-email-martin@catalyst.net.nz","threadId":"1769","inReplyTo":"1126430765435-git-send-email-martin@catalyst.net.nz","subject":"[PATCH 3/5] archimport - update in-script doco, options tidyup","fromName":"","fromEmail":"martin@catalyst.net.nz","sentAt":"2005-09-11T09:26:05Z","receivedAt":"2005-09-11T09:26:05Z","isPatch":true,"sender":{"key":"martin@laptop.org","avatar":null},"body":"Updated the usage/help message to match asciidoc documentation. The perldoc\ndocumentation now includes the first paragraph from the asciidoc documentation\nand points users to the manpage.\n\nUpdated TODO section.\n\nRemoved some redundant options from the getopt() invocation.\n\nSigned-off-by: Martin Langhoff <martin@catalyst.net.nz>\n\n\n---\n\n git-archimport.perl |   33 ++++++++++++++++-----------------\n 1 files changed, 16 insertions(+), 17 deletions(-)\n\n8d625fb42f58a6b4b2af135efe76726e8f0579e0\ndiff --git a/git-archimport.perl b/git-archimport.perl\n--- a/git-archimport.perl\n+++ b/git-archimport.perl\n@@ -6,23 +6,27 @@\n # The basic idea is to walk the output of tla abrowse, \n # fetch the changesets and apply them. \n #\n+\n =head1 Invocation\n \n-    git-archimport -i <archive>/<branch> [<archive>/<branch>]\n-    [ <archive>/<branch> ]\n+    git-archimport [ -h ] [ -v ] [ -T ] [ -t tempdir ] <archive>/<branch> [ <archive>/<branch> ]\n \n-    The script expects you to provide the key roots where it can start the\n-    import from an 'initial import' or 'tag' type of Arch commit. It will\n-    then follow all the branching and tagging within the provided roots.\n+Imports a project from one or more Arch repositories. It will follow branches\n+and repositories within the namespaces defined by the <archive/branch>\n+parameters suppplied. If it cannot find the remote branch a merge comes from\n+it will just import it as a regular commit. If it can find it, it will mark it \n+as a merge whenever possible.\n \n-    It will die if it sees branches that have different roots. \n+See man (1) git-archimport for more details.\n \n-=head2 TODO\n+=head1 TODO\n \n- - keep track of merged patches, and mark a git merge when it happens\n- - smarter rules to parse the archive history \"up\" and \"down\"\n- - be able to continue an import where we left off\n+ - create tag objects instead of ref tags\n  - audit shell-escaping of filenames\n+ - better handling of temp directories\n+ - use GIT_DIR instead of hardcoded \".git\"\n+ - hide our private tags somewhere smarter\n+ - find a way to make \"cat *patches | patch\" safe even when patchfiles are missing newlines  \n \n =head1 Devel tricks\n \n@@ -54,14 +58,13 @@ our($opt_h,$opt_v, $opt_T,\n sub usage() {\n     print STDERR <<END;\n Usage: ${\\basename $0}     # fetch/update GIT from Arch\n-       [ -h ] [ -v ] [ -T ] \n-       [ -C GIT_repository ] [ -t tempdir ] \n+       [ -h ] [ -v ] [ -T ] [ -t tempdir ] \n        repository/arch-branch [ repository/arch-branch] ...\n END\n     exit(1);\n }\n \n-getopts(\"ThviC:t:\") or usage();\n+getopts(\"Thvt:\") or usage();\n usage if $opt_h;\n \n @ARGV >= 1 or usage();\n@@ -71,10 +74,6 @@ my $tmp = $opt_t;\n $tmp ||= '/tmp';\n $tmp .= '/git-archimport/';\n \n-my $git_tree = $opt_C;\n-$git_tree ||= \".\";\n-\n-\n my @psets  = ();                # the collection\n my %psets  = ();                # the collection, by name\n \n"},{"id":"8280","messageId":"1126430765435-git-send-email-martin@catalyst.net.nz","threadId":"1769","inReplyTo":"11264307651299-git-send-email-martin@catalyst.net.nz","subject":"[PATCH 2/5] archimport documentation tidyup","fromName":"","fromEmail":"martin@catalyst.net.nz","sentAt":"2005-09-11T09:26:05Z","receivedAt":"2005-09-11T09:26:05Z","isPatch":true,"sender":{"key":"martin@laptop.org","avatar":null},"body":"New \"merges\" headline, clarified some parts that were not easy to understand.\n\nSigned-off-by: Martin Langhoff <martin@catalyst.net.nz>\n\n\n---\n\n Documentation/git-archimport.txt |    9 +++++----\n 1 files changed, 5 insertions(+), 4 deletions(-)\n\nda341e8530b0d852c9b6910778df6b41cdee3e54\ndiff --git a/Documentation/git-archimport.txt b/Documentation/git-archimport.txt\n--- a/Documentation/git-archimport.txt\n+++ b/Documentation/git-archimport.txt\n@@ -3,7 +3,7 @@ git-archimport(1)\n \n NAME\n ----\n-git-archimport - Import an arch repository into git\n+git-archimport - Import an Arch repository into GIT\n \n \n SYNOPSIS\n@@ -16,8 +16,8 @@ DESCRIPTION\n Imports a project from one or more Arch repositories. It will follow branches\n and repositories within the namespaces defined by the <archive/branch>\n parameters suppplied. If it cannot find the remote branch a merge comes from\n-it will just import it as a regular merge. If it can find it, it will perform\n-a merge whenever possible. \n+it will just import it as a regular commit. If it can find it, it will mark it \n+as a merge whenever possible (see discussion below). \n \n The script expects you to provide the key roots where it can start the import \n from an 'initial import' or 'tag' type of Arch commit. It will follow and import \n@@ -34,8 +34,9 @@ know about the repositories you pass to \n For the initial import `git-archimport` expects to find itself in an empty \n directory. To follow the development of a project that uses Arch, rerun \n `git-archimport` with the same parameters as the initial import to perform incremental imports.\n-of a project using Arch.\n \n+MERGES\n+------\n Patch merge data from Arch is used to mark merges in GIT as well. GIT \n does not care much about tracking patches, and only considers a merge when a\n branch incorporates all the commits since the point they forked. The end result\n"}]}