| git-archimport(1) |
| ================= |
| |
| NAME |
| ---- |
| git-archimport - Import an Arch repository into git |
| |
| |
| SYNOPSIS |
| -------- |
| `git-archimport` [ -h ] [ -v ] [ -o ] [ -a ] [ -f ] [ -T ] |
| [ -D depth ] [ -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. |
| |
| -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 |
| ------ |
| 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 gitlink:git[7] suite |
| |