Autogenerated manpages for v2.46.1-603-g94b60a
[git-manpages.git] / man1 / git-archimport.1
blob7085fb419fba37d7c8914c741cddc78db18edbbe
1 '\" t
2 .\"     Title: git-archimport
3 .\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
4 .\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
5 .\"      Date: 2024-09-20
6 .\"    Manual: Git Manual
7 .\"    Source: Git 2.46.1.603.g94b60adee3
8 .\"  Language: English
9 .\"
10 .TH "GIT\-ARCHIMPORT" "1" "2024-09-20" "Git 2\&.46\&.1\&.603\&.g94b60a" "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 .SH "DESCRIPTION"
39 .sp
40 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)\&.
41 .sp
42 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\&.
43 .sp
44 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\&.
45 .sp
46 \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\&.
47 .sp
48 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\&.
49 .sp
50 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"\&.
51 .sp
52 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\&.
53 .SH "MERGES"
54 .sp
55 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\&.
56 .sp
57 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\&.
58 .SH "OPTIONS"
59 .PP
60 \-h
61 .RS 4
62 Display usage\&.
63 .RE
64 .PP
65 \-v
66 .RS 4
67 Verbose output\&.
68 .RE
69 .PP
70 \-T
71 .RS 4
72 Many tags\&. Will create a tag for every commit, reflecting the commit name in the Arch repository\&.
73 .RE
74 .PP
75 \-f
76 .RS 4
77 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\&.
78 .RE
79 .PP
80 \-o
81 .RS 4
82 Use this for compatibility with old\-style branch names used by earlier versions of
83 \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\&.
84 .RE
85 .PP
86 \-D <depth>
87 .RS 4
88 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\&.
89 .RE
90 .PP
91 \-a
92 .RS 4
93 Attempt to auto\-register archives at
94 \fBhttp://mirrors\&.sourcecontrol\&.net\fR
95 This is particularly useful with the \-D option\&.
96 .RE
97 .PP
98 \-t <tmpdir>
99 .RS 4
100 Override the default tempdir\&.
103 <archive>/<branch>
104 .RS 4
105 <archive>/<branch> identifier in a format that
106 \fBtla log\fR
107 understands\&.
109 .SH "GIT"
111 Part of the \fBgit\fR(1) suite