]>
Commit | Line | Data |
---|---|---|
1 | git-archimport(1) | |
2 | ================= | |
3 | ||
4 | NAME | |
5 | ---- | |
6 | git-archimport - Import an Arch repository into git | |
7 | ||
8 | ||
9 | SYNOPSIS | |
10 | -------- | |
11 | [verse] | |
12 | 'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir] | |
13 | <archive/branch>[:<git-branch>] ... | |
14 | ||
15 | DESCRIPTION | |
16 | ----------- | |
17 | Imports a project from one or more Arch repositories. It will follow branches | |
18 | and repositories within the namespaces defined by the <archive/branch> | |
19 | parameters supplied. If it cannot find the remote branch a merge comes from | |
20 | it will just import it as a regular commit. If it can find it, it will mark it | |
21 | as a merge whenever possible (see discussion below). | |
22 | ||
23 | The script expects you to provide the key roots where it can start the import | |
24 | from an 'initial import' or 'tag' type of Arch commit. It will follow and | |
25 | import new branches within the provided roots. | |
26 | ||
27 | It expects to be dealing with one project only. If it sees | |
28 | branches that have different roots, it will refuse to run. In that case, | |
29 | edit your <archive/branch> parameters to define clearly the scope of the | |
30 | import. | |
31 | ||
32 | 'git archimport' uses `tla` extensively in the background to access the | |
33 | Arch repository. | |
34 | Make sure you have a recent version of `tla` available in the path. `tla` must | |
35 | know about the repositories you pass to 'git archimport'. | |
36 | ||
37 | For the initial import, 'git archimport' expects to find itself in an empty | |
38 | directory. To follow the development of a project that uses Arch, rerun | |
39 | 'git archimport' with the same parameters as the initial import to perform | |
40 | incremental imports. | |
41 | ||
42 | While 'git archimport' will try to create sensible branch names for the | |
43 | archives that it imports, it is also possible to specify git branch names | |
44 | manually. To do so, write a git branch name after each <archive/branch> | |
45 | parameter, separated by a colon. This way, you can shorten the Arch | |
46 | branch names and convert Arch jargon to git jargon, for example mapping a | |
47 | "PROJECT{litdd}devo{litdd}VERSION" branch to "master". | |
48 | ||
49 | Associating multiple Arch branches to one git branch is possible; the | |
50 | result will make the most sense only if no commits are made to the first | |
51 | branch, after the second branch is created. Still, this is useful to | |
52 | convert Arch repositories that had been rotated periodically. | |
53 | ||
54 | ||
55 | MERGES | |
56 | ------ | |
57 | Patch merge data from Arch is used to mark merges in git as well. git | |
58 | does not care much about tracking patches, and only considers a merge when a | |
59 | branch incorporates all the commits since the point they forked. The end result | |
60 | is that git will have a good idea of how far branches have diverged. So the | |
61 | import process does lose some patch-trading metadata. | |
62 | ||
63 | Fortunately, when you try and merge branches imported from Arch, | |
64 | git will find a good merge base, and it has a good chance of identifying | |
65 | patches that have been traded out-of-sequence between the branches. | |
66 | ||
67 | OPTIONS | |
68 | ------- | |
69 | ||
70 | -h:: | |
71 | Display usage. | |
72 | ||
73 | -v:: | |
74 | Verbose output. | |
75 | ||
76 | -T:: | |
77 | Many tags. Will create a tag for every commit, reflecting the commit | |
78 | name in the Arch repository. | |
79 | ||
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{litdd}branch, whereas new-style branch names are | |
89 | archive,category{litdd}branch{litdd}version. In both cases, names given | |
90 | on the command-line will override the automatically-generated | |
91 | ones. | |
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 | ||
102 | -t <tmpdir>:: | |
103 | Override the default tempdir. | |
104 | ||
105 | ||
106 | <archive/branch>:: | |
107 | Archive/branch identifier in a format that `tla log` understands. | |
108 | ||
109 | ||
110 | GIT | |
111 | --- | |
112 | Part of the linkgit:git[1] suite |