You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.9 KiB
113 lines
3.9 KiB
git-archimport(1) |
|
================= |
|
|
|
NAME |
|
---- |
|
git-archimport - Import a GNU Arch repository into Git |
|
|
|
|
|
SYNOPSIS |
|
-------- |
|
[verse] |
|
'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D <depth>] [-t <tempdir>] |
|
<archive>/<branch>[:<git-branch>]... |
|
|
|
DESCRIPTION |
|
----------- |
|
Imports a project from one or more GNU 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). |
|
|
|
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. |
|
|
|
While 'git archimport' will try to create sensible branch names for the |
|
archives that it imports, it is also possible to specify Git branch names |
|
manually. To do so, write a Git branch name after each <archive>/<branch> |
|
parameter, separated by a colon. This way, you can shorten the Arch |
|
branch names and convert Arch jargon to Git jargon, for example mapping a |
|
"PROJECT{litdd}devo{litdd}VERSION" branch to "master". |
|
|
|
Associating multiple Arch branches to one Git branch is possible; the |
|
result will make the most sense only if no commits are made to the first |
|
branch, after the second branch is created. Still, this is useful to |
|
convert Arch repositories that had been rotated periodically. |
|
|
|
|
|
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{litdd}branch, whereas new-style branch names are |
|
archive,category{litdd}branch{litdd}version. In both cases, names given |
|
on the command-line will override the automatically-generated |
|
ones. |
|
|
|
-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. |
|
|
|
|
|
GIT |
|
--- |
|
Part of the linkgit:git[1] suite
|
|
|