]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-archimport.txt
Merge branch 'kk/maint-prefix-in-config-mak'
[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]
b1889c36 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
0b444cdb 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
0b444cdb 35know about the repositories you pass to 'git archimport'.
a4c5f9aa 36
0b444cdb 37For the initial import, 'git archimport' expects to find itself in an empty
a6080a0a 38directory. To follow the development of a project that uses Arch, rerun
0b444cdb 39'git archimport' with the same parameters as the initial import to perform
f73ae1fc 40incremental imports.
a4c5f9aa 41
0b444cdb 42While 'git archimport' will try to create sensible branch names for the
d9cb5399
PB
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
28394787 47"PROJECT{litdd}devo{litdd}VERSION" branch to "master".
d9cb5399
PB
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
0b444cdb 87 earlier versions of 'git archimport'. Old-style branch names
28394787
JH
88 were category{litdd}branch, whereas new-style branch names are
89 archive,category{litdd}branch{litdd}version. In both cases, names given
d9cb5399
PB
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
5077fa9c
JH
110GIT
111---
9e1f0a85 112Part of the linkgit:git[1] suite