mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
![Thomas Rast](/assets/img/avatar_default.png)
The documentation was quite inconsistent when spelling 'git cmd' if it
only refers to the program, not to some specific invocation syntax:
both 'git-cmd' and 'git cmd' spellings exist.
The current trend goes towards dashless forms, and there is precedent
in 647ac70
(git-svn.txt: stop using dash-form of commands.,
2009-07-07) to actively eliminate the dashed variants.
Replace 'git-cmd' with 'git cmd' throughout, except where git-shell,
git-cvsserver, git-upload-pack, git-receive-pack, and
git-upload-archive are concerned, because those really live in the
$PATH.
121 lines
4 KiB
Plaintext
121 lines
4 KiB
Plaintext
git-archimport(1)
|
|
=================
|
|
|
|
NAME
|
|
----
|
|
git-archimport - Import an 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 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--devo--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--branch, whereas new-style branch names are
|
|
archive,category--branch--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.
|
|
|
|
|
|
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 linkgit:git[1] suite
|