2005-09-08 08:26:23 +08:00
|
|
|
git-archimport(1)
|
|
|
|
=================
|
2005-09-08 05:08:38 +08:00
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
2013-01-22 03:17:53 +08:00
|
|
|
git-archimport - Import an Arch repository into Git
|
2005-09-08 05:08:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
2006-01-01 01:37:15 +08:00
|
|
|
[verse]
|
2008-06-30 14:09:04 +08:00
|
|
|
'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
|
2007-03-07 17:43:41 +08:00
|
|
|
<archive/branch>[:<git-branch>] ...
|
2005-09-08 05:08:38 +08:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
2005-09-11 17:26:05 +08:00
|
|
|
Imports a project from one or more Arch repositories. It will follow branches
|
|
|
|
and repositories within the namespaces defined by the <archive/branch>
|
2005-12-29 17:20:06 +08:00
|
|
|
parameters supplied. If it cannot find the remote branch a merge comes from
|
2007-06-07 15:04:01 +08:00
|
|
|
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).
|
2005-09-08 05:08:38 +08:00
|
|
|
|
2007-06-07 15:04:01 +08:00
|
|
|
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.
|
2005-09-08 05:08:38 +08:00
|
|
|
|
2007-06-07 15:04:01 +08:00
|
|
|
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.
|
2005-09-11 17:26:05 +08:00
|
|
|
|
2010-01-10 07:33:00 +08:00
|
|
|
'git archimport' uses `tla` extensively in the background to access the
|
2005-10-06 06:08:26 +08:00
|
|
|
Arch repository.
|
2005-09-11 17:26:05 +08:00
|
|
|
Make sure you have a recent version of `tla` available in the path. `tla` must
|
2010-01-10 07:33:00 +08:00
|
|
|
know about the repositories you pass to 'git archimport'.
|
2005-09-11 17:26:05 +08:00
|
|
|
|
2010-01-10 07:33:00 +08:00
|
|
|
For the initial import, 'git archimport' expects to find itself in an empty
|
2007-06-07 15:04:01 +08:00
|
|
|
directory. To follow the development of a project that uses Arch, rerun
|
2010-01-10 07:33:00 +08:00
|
|
|
'git archimport' with the same parameters as the initial import to perform
|
2005-10-06 06:08:26 +08:00
|
|
|
incremental imports.
|
2005-09-11 17:26:05 +08:00
|
|
|
|
2010-01-10 07:33:00 +08:00
|
|
|
While 'git archimport' will try to create sensible branch names for the
|
2013-01-22 03:17:53 +08:00
|
|
|
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>
|
2007-03-07 17:43:41 +08:00
|
|
|
parameter, separated by a colon. This way, you can shorten the Arch
|
2013-01-22 03:17:53 +08:00
|
|
|
branch names and convert Arch jargon to Git jargon, for example mapping a
|
2010-08-24 05:20:25 +08:00
|
|
|
"PROJECT{litdd}devo{litdd}VERSION" branch to "master".
|
2007-03-07 17:43:41 +08:00
|
|
|
|
2013-01-22 03:17:53 +08:00
|
|
|
Associating multiple Arch branches to one Git branch is possible; the
|
2007-03-07 17:43:41 +08:00
|
|
|
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.
|
|
|
|
|
|
|
|
|
2005-09-11 17:26:05 +08:00
|
|
|
MERGES
|
|
|
|
------
|
2013-01-22 03:17:53 +08:00
|
|
|
Patch merge data from Arch is used to mark merges in Git as well. Git
|
2005-09-11 17:26:05 +08:00
|
|
|
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
|
2013-01-22 03:17:53 +08:00
|
|
|
is that Git will have a good idea of how far branches have diverged. So the
|
2005-09-11 17:26:05 +08:00
|
|
|
import process does lose some patch-trading metadata.
|
|
|
|
|
2007-06-07 15:04:01 +08:00
|
|
|
Fortunately, when you try and merge branches imported from Arch,
|
2013-01-22 03:17:53 +08:00
|
|
|
Git will find a good merge base, and it has a good chance of identifying
|
2007-06-07 15:04:01 +08:00
|
|
|
patches that have been traded out-of-sequence between the branches.
|
2005-09-08 05:08:38 +08:00
|
|
|
|
|
|
|
OPTIONS
|
|
|
|
-------
|
|
|
|
|
2005-09-11 17:26:05 +08:00
|
|
|
-h::
|
|
|
|
Display usage.
|
|
|
|
|
|
|
|
-v::
|
2007-06-07 15:04:01 +08:00
|
|
|
Verbose output.
|
2005-09-11 17:26:05 +08:00
|
|
|
|
|
|
|
-T::
|
2007-06-07 15:04:01 +08:00
|
|
|
Many tags. Will create a tag for every commit, reflecting the commit
|
2005-09-11 17:26:05 +08:00
|
|
|
name in the Arch repository.
|
|
|
|
|
2005-12-19 09:23:50 +08:00
|
|
|
-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
|
2010-01-10 07:33:00 +08:00
|
|
|
earlier versions of 'git archimport'. Old-style branch names
|
2010-08-24 05:20:25 +08:00
|
|
|
were category{litdd}branch, whereas new-style branch names are
|
|
|
|
archive,category{litdd}branch{litdd}version. In both cases, names given
|
2007-03-07 17:43:41 +08:00
|
|
|
on the command-line will override the automatically-generated
|
|
|
|
ones.
|
2005-12-19 09:23:50 +08:00
|
|
|
|
|
|
|
-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::
|
2017-04-21 04:34:41 +08:00
|
|
|
Attempt to auto-register archives at `http://mirrors.sourcecontrol.net`
|
2005-12-19 09:23:50 +08:00
|
|
|
This is particularly useful with the -D option.
|
|
|
|
|
2005-09-11 17:26:05 +08:00
|
|
|
-t <tmpdir>::
|
|
|
|
Override the default tempdir.
|
|
|
|
|
|
|
|
|
|
|
|
<archive/branch>::
|
2007-06-07 15:04:01 +08:00
|
|
|
Archive/branch identifier in a format that `tla log` understands.
|
2005-09-08 05:08:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
GIT
|
|
|
|
---
|
2008-06-06 15:07:32 +08:00
|
|
|
Part of the linkgit:git[1] suite
|