Autogenerated manpages for v2.39.1-231-ga7caae
[git-manpages.git] / man1 / git-archimport.1
blobd6c84f2a5ce895e924d317adf43db18213993fc8
1 '\" t
2 .\"     Title: git-archimport
3 .\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
4 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
5 .\"      Date: 01/17/2023
6 .\"    Manual: Git Manual
7 .\"    Source: Git 2.39.1.231.ga7caae2729
8 .\"  Language: English
9 .\"
10 .TH "GIT\-ARCHIMPORT" "1" "01/17/2023" "Git 2\&.39\&.1\&.231\&.ga7caae" "Git Manual"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 git-archimport \- Import a GNU Arch repository into Git
32 .SH "SYNOPSIS"
33 .sp
34 .nf
35 \fIgit archimport\fR [\-h] [\-v] [\-o] [\-a] [\-f] [\-T] [\-D <depth>] [\-t <tempdir>]
36                <archive>/<branch>[:<git\-branch>]\&...
37 .fi
38 .sp
39 .SH "DESCRIPTION"
40 .sp
41 Imports a project from one or more GNU 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)\&.
42 .sp
43 The script expects you to provide the key roots where it can start the import from an \fIinitial import\fR or \fItag\fR type of Arch commit\&. It will follow and import new branches within the provided roots\&.
44 .sp
45 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\&.
46 .sp
47 \fIgit archimport\fR uses \fBtla\fR extensively in the background to access the Arch repository\&. Make sure you have a recent version of \fBtla\fR available in the path\&. \fBtla\fR must know about the repositories you pass to \fIgit archimport\fR\&.
48 .sp
49 For the initial import, \fIgit archimport\fR expects to find itself in an empty directory\&. To follow the development of a project that uses Arch, rerun \fIgit archimport\fR with the same parameters as the initial import to perform incremental imports\&.
50 .sp
51 While \fIgit archimport\fR 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"\&.
52 .sp
53 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\&.
54 .SH "MERGES"
55 .sp
56 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\&.
57 .sp
58 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\&.
59 .SH "OPTIONS"
60 .PP
61 \-h
62 .RS 4
63 Display usage\&.
64 .RE
65 .PP
66 \-v
67 .RS 4
68 Verbose output\&.
69 .RE
70 .PP
71 \-T
72 .RS 4
73 Many tags\&. Will create a tag for every commit, reflecting the commit name in the Arch repository\&.
74 .RE
75 .PP
76 \-f
77 .RS 4
78 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\&.
79 .RE
80 .PP
81 \-o
82 .RS 4
83 Use this for compatibility with old\-style branch names used by earlier versions of
84 \fIgit archimport\fR\&. 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\&.
85 .RE
86 .PP
87 \-D <depth>
88 .RS 4
89 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\&.
90 .RE
91 .PP
92 \-a
93 .RS 4
94 Attempt to auto\-register archives at
95 \fBhttp://mirrors\&.sourcecontrol\&.net\fR
96 This is particularly useful with the \-D option\&.
97 .RE
98 .PP
99 \-t <tmpdir>
100 .RS 4
101 Override the default tempdir\&.
104 <archive>/<branch>
105 .RS 4
106 <archive>/<branch> identifier in a format that
107 \fBtla log\fR
108 understands\&.
110 .SH "GIT"
112 Part of the \fBgit\fR(1) suite