git-archimport(1)
=================

NAME
----
git-archimport - Import an Arch repository into GIT


SYNOPSIS
--------
`git-archimport` [ -h ] [ -v ] [ -T ] [ -t tempdir ] 
                 <archive/branch> [ <archive/branch> ]

DESCRIPTION
-----------
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). 

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
-------

-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
------
Written by Martin Langhoff <martin@catalyst.net.nz>.

Documentation
--------------
Documentation by Junio C Hamano, Martin Langhoff and the git-list <git@vger.kernel.org>.

GIT
---
Part of the link:git.html[git] suite

