]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-archimport.txt
Documentation: prepare to be consistent about "git-" versus "git "
[thirdparty/git.git] / Documentation / git-archimport.txt
CommitLineData
215a7ad1
JH
1git-archimport(1)
2=================
5077fa9c
JH
3
4NAME
5----
72e9340c 6git-archimport - Import an Arch repository into git
5077fa9c
JH
7
8
9SYNOPSIS
10--------
353ce815 11[verse]
bd494fc7 12'git-archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
d9cb5399 13 <archive/branch>[:<git-branch>] ...
5077fa9c
JH
14
15DESCRIPTION
16-----------
a4c5f9aa
ML
17Imports a project from one or more Arch repositories. It will follow branches
18and repositories within the namespaces defined by the <archive/branch>
89438677 19parameters supplied. If it cannot find the remote branch a merge comes from
a6080a0a
JH
20it will just import it as a regular commit. If it can find it, it will mark it
21as a merge whenever possible (see discussion below).
5077fa9c 22
a6080a0a
JH
23The script expects you to provide the key roots where it can start the import
24from an 'initial import' or 'tag' type of Arch commit. It will follow and
25import new branches within the provided roots.
5077fa9c 26
a6080a0a
JH
27It expects to be dealing with one project only. If it sees
28branches that have different roots, it will refuse to run. In that case,
29edit your <archive/branch> parameters to define clearly the scope of the
30import.
a4c5f9aa 31
a6080a0a 32`git-archimport` uses `tla` extensively in the background to access the
f73ae1fc 33Arch repository.
a4c5f9aa 34Make sure you have a recent version of `tla` available in the path. `tla` must
a6080a0a 35know about the repositories you pass to `git-archimport`.
a4c5f9aa 36
a6080a0a
JH
37For the initial import `git-archimport` expects to find itself in an empty
38directory. To follow the development of a project that uses Arch, rerun
39`git-archimport` with the same parameters as the initial import to perform
f73ae1fc 40incremental imports.
a4c5f9aa 41
d9cb5399
PB
42While git-archimport will try to create sensible branch names for the
43archives that it imports, it is also possible to specify git branch names
44manually. To do so, write a git branch name after each <archive/branch>
45parameter, separated by a colon. This way, you can shorten the Arch
46branch names and convert Arch jargon to git jargon, for example mapping a
47"PROJECT--devo--VERSION" branch to "master".
48
49Associating multiple Arch branches to one git branch is possible; the
50result will make the most sense only if no commits are made to the first
51branch, after the second branch is created. Still, this is useful to
52convert Arch repositories that had been rotated periodically.
53
54
a5c500b7
ML
55MERGES
56------
a6080a0a 57Patch merge data from Arch is used to mark merges in git as well. git
a4c5f9aa
ML
58does not care much about tracking patches, and only considers a merge when a
59branch incorporates all the commits since the point they forked. The end result
a6080a0a 60is that git will have a good idea of how far branches have diverged. So the
a4c5f9aa
ML
61import process does lose some patch-trading metadata.
62
a6080a0a
JH
63Fortunately, when you try and merge branches imported from Arch,
64git will find a good merge base, and it has a good chance of identifying
65patches that have been traded out-of-sequence between the branches.
5077fa9c
JH
66
67OPTIONS
68-------
5077fa9c 69
a4c5f9aa
ML
70-h::
71 Display usage.
72
73-v::
a6080a0a 74 Verbose output.
a4c5f9aa
ML
75
76-T::
a6080a0a 77 Many tags. Will create a tag for every commit, reflecting the commit
a4c5f9aa
ML
78 name in the Arch repository.
79
42f4570c
EW
80-f::
81 Use the fast patchset import strategy. This can be significantly
82 faster for large trees, but cannot handle directory renames or
83 permissions changes. The default strategy is slow and safe.
84
85-o::
86 Use this for compatibility with old-style branch names used by
87 earlier versions of git-archimport. Old-style branch names
88 were category--branch, whereas new-style branch names are
d9cb5399
PB
89 archive,category--branch--version. In both cases, names given
90 on the command-line will override the automatically-generated
91 ones.
42f4570c
EW
92
93-D <depth>::
94 Follow merge ancestry and attempt to import trees that have been
95 merged from. Specify a depth greater than 1 if patch logs have been
96 pruned.
97
98-a::
99 Attempt to auto-register archives at http://mirrors.sourcecontrol.net
100 This is particularly useful with the -D option.
101
a4c5f9aa
ML
102-t <tmpdir>::
103 Override the default tempdir.
104
105
106<archive/branch>::
a6080a0a 107 Archive/branch identifier in a format that `tla log` understands.
5077fa9c
JH
108
109
110Author
111------
112Written by Martin Langhoff <martin@catalyst.net.nz>.
113
114Documentation
115--------------
a4c5f9aa 116Documentation by Junio C Hamano, Martin Langhoff and the git-list <git@vger.kernel.org>.
5077fa9c
JH
117
118GIT
119---
9e1f0a85 120Part of the linkgit:git[1] suite