git-cvsexportcommit.perl: fix typo
[git.git] / Documentation / git-archimport.txt
index 8ce5f0a..5a13187 100644 (file)
@@ -3,29 +3,93 @@ git-archimport(1)
 
 NAME
 ----
-git-archimport - Import an arch repository into git
+git-archimport - Import an Arch repository into git
 
 
 SYNOPSIS
 --------
-`git-archimport` [--option...] <args>
+[verse]
+'git-archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
+               <archive/branch> [ <archive/branch> ]
 
 DESCRIPTION
 -----------
-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 supplied. 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 (see discussion below). 
 
-It will die if it sees branches that have different roots.
+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 follow and 
+import new branches within the provided roots. 
 
+It expects to be dealing with one project only. If it sees 
+branches that have different roots, it will refuse to run. In that case, 
+edit your <archive/branch> parameters to define clearly the scope of the 
+import. 
+
+`git-archimport` uses `tla` extensively in the background to access the 
+Arch repository.
+Make sure you have a recent version of `tla` available in the path. `tla` must
+know about the repositories you pass to `git-archimport`. 
+
+For the initial import `git-archimport` expects to find itself in an empty 
+directory. To follow the development of a project that uses Arch, rerun 
+`git-archimport` with the same parameters as the initial import to perform 
+incremental imports.
+
+MERGES
+------
+Patch merge data from Arch is used to mark merges in git as well. git 
+does not care much about tracking patches, and only considers a merge when a
+branch incorporates all the commits since the point they forked. The end result
+is that git will have a good idea of how far branches have diverged. So the 
+import process does lose some patch-trading metadata.
+
+Fortunately, when you try and merge branches imported from Arch, 
+git will find a good merge base, and it has a good chance of identifying 
+patches that have been traded out-of-sequence between the branches. 
 
 OPTIONS
 -------
---option::
-       Some option not yet documented.
 
-<args>...::
-       Some argument not yet documented.
+-h::
+       Display usage.
+
+-v::
+       Verbose output. 
+
+-T::
+       Many tags. Will create a tag for every commit, reflecting the commit 
+       name in the Arch repository.
+
+-f::
+       Use the fast patchset import strategy.  This can be significantly
+       faster for large trees, but cannot handle directory renames or
+       permissions changes.  The default strategy is slow and safe.
+
+-o::
+       Use this for compatibility with old-style branch names used by
+       earlier versions of git-archimport.  Old-style branch names
+       were category--branch, whereas new-style branch names are
+       archive,category--branch--version.
+
+-D <depth>::
+       Follow merge ancestry and attempt to import trees that have been
+       merged from.  Specify a depth greater than 1 if patch logs have been
+       pruned.
+
+-a::
+       Attempt to auto-register archives at http://mirrors.sourcecontrol.net
+       This is particularly useful with the -D option.
+
+-t <tmpdir>::
+       Override the default tempdir.
+
+
+<archive/branch>::
+       Archive/branch identifier in a format that `tla log` understands. 
 
 
 Author
@@ -34,9 +98,9 @@ Written by Martin Langhoff <martin@catalyst.net.nz>.
 
 Documentation
 --------------
-Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Documentation by Junio C Hamano, Martin Langhoff and the git-list <git@vger.kernel.org>.
 
 GIT
 ---
-Part of the link:git.html[git] suite
+Part of the gitlink:git[7] suite