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