man pages section 1: User Commands

Exit Print View

Updated: July 2014

git-archimport (1)


git-archimport - Import an Arch repository into git


git archimport [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
<archive/branch>[:<git-branch>] ...


Git Manual                                      GIT-ARCHIMPORT(1)

     git-archimport - Import an Arch repository into git

     git archimport [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
                    <archive/branch>[:<git-branch>] ...

     Imports a project from one or more 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

     The script expects you to provide the key roots where it can
     start the import from an initial import or tag type of Arch
     commit. It will follow and import new branches within the
     provided roots.

     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.

     git archimport uses tla extensively in the background to
     access the Arch repository. Make sure you have a recent
     version of tla available in the path. tla must know about
     the repositories you pass to git archimport.

     For the initial import, git archimport expects to find
     itself in an empty directory. To follow the development of a
     project that uses Arch, rerun git archimport with the same
     parameters as the initial import to perform incremental

     While git archimport 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".

     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.

Git          Last change: 02/22/2012                    1

Git Manual                                      GIT-ARCHIMPORT(1)

     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.

     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.

         Display usage.

         Verbose output.

         Many tags. Will create a tag for every commit,
         reflecting the commit name in the Arch repository.

         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.

         Use this for compatibility with old-style branch names
         used by earlier versions of git archimport. 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.

     -D <depth>
         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.

         Attempt to auto-register archives at This is particularly
         useful with the -D option.

     -t <tmpdir>
         Override the default tempdir.

Git          Last change: 02/22/2012                    2

Git Manual                                      GIT-ARCHIMPORT(1)

         Archive/branch identifier in a format that tla log

     Part of the git(1) suite

     See attributes(5) for descriptions of the following

     |Availability   | developer/versioning/git |
     |Stability      | Uncommitted              |
     This software was built from source available at  The original
     community source was downloaded from  http://git-

     Further information about this software can be found on the
     open source community website at

Git          Last change: 02/22/2012                    3