1git-archimport(1) 2================= 3 4NAME 5---- 6git-archimport - Import a GNU Arch repository into Git 7 8 9SYNOPSIS 10-------- 11[verse] 12'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir] 13 <archive/branch>[:<git-branch>] ... 14 15DESCRIPTION 16----------- 17Imports a project from one or more GNU Arch repositories. 18It will follow branches 19and repositories within the namespaces defined by the <archive/branch> 20parameters supplied. If it cannot find the remote branch a merge comes from 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). 23 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. 27 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. 32 33'git archimport' uses `tla` extensively in the background to access the 34Arch repository. 35Make sure you have a recent version of `tla` available in the path. `tla` must 36know about the repositories you pass to 'git archimport'. 37 38For the initial import, 'git archimport' expects to find itself in an empty 39directory. To follow the development of a project that uses Arch, rerun 40'git archimport' with the same parameters as the initial import to perform 41incremental imports. 42 43While 'git archimport' will try to create sensible branch names for the 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> 46parameter, separated by a colon. This way, you can shorten the Arch 47branch names and convert Arch jargon to Git jargon, for example mapping a 48"PROJECT{litdd}devo{litdd}VERSION" branch to "master". 49 50Associating multiple Arch branches to one Git branch is possible; the 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 56MERGES 57------ 58Patch merge data from Arch is used to mark merges in Git as well. Git 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 61is that Git will have a good idea of how far branches have diverged. So the 62import process does lose some patch-trading metadata. 63 64Fortunately, when you try and merge branches imported from Arch, 65Git will find a good merge base, and it has a good chance of identifying 66patches that have been traded out-of-sequence between the branches. 67 68OPTIONS 69------- 70 71-h:: 72 Display usage. 73 74-v:: 75 Verbose output. 76 77-T:: 78 Many tags. Will create a tag for every commit, reflecting the commit 79 name in the Arch repository. 80 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 88 earlier versions of 'git archimport'. Old-style branch names 89 were category{litdd}branch, whereas new-style branch names are 90 archive,category{litdd}branch{litdd}version. In both cases, names given 91 on the command-line will override the automatically-generated 92 ones. 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:: 100 Attempt to auto-register archives at `http://mirrors.sourcecontrol.net` 101 This is particularly useful with the -D option. 102 103-t <tmpdir>:: 104 Override the default tempdir. 105 106 107<archive/branch>:: 108 Archive/branch identifier in a format that `tla log` understands. 109 110 111GIT 112--- 113Part of the linkgit:git[1] suite