update-index: allow --index-info to add higher stages.
[gitweb.git] / Documentation / git-archimport.txt
index 8ce5f0a93f39b675538244aecd32184fe487b3b6..fcda0125af92ff9c3d72d711a78d23118787608c 100644 (file)
@@ -3,29 +3,72 @@ 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>
+`git-archimport` [ -h ] [ -v ] [ -T ] [ -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 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 (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.
+
+-t <tmpdir>::
+       Override the default tempdir.
+
+
+<archive/branch>::
+       Archive/branch identifier in a format that `tla log` understands. 
 
 
 Author
@@ -34,9 +77,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