Documentation / git-archimport.txton commit Merge branch 'rs/status-detached-head-memcmp' into maint (4d0069f)
   1git-archimport(1)
   2=================
   3
   4NAME
   5----
   6git-archimport - Import an 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 Arch repositories. It will follow branches
  18and repositories within the namespaces defined by the <archive/branch>
  19parameters supplied. If it cannot find the remote branch a merge comes from
  20it will just import it as a regular commit. If it can find it, it will mark it
  21as a merge whenever possible (see discussion below).
  22
  23The script expects you to provide the key roots where it can start the import
  24from an 'initial import' or 'tag' type of Arch commit. It will follow and
  25import new branches within the provided roots.
  26
  27It expects to be dealing with one project only. If it sees
  28branches that have different roots, it will refuse to run. In that case,
  29edit your <archive/branch> parameters to define clearly the scope of the
  30import.
  31
  32'git archimport' uses `tla` extensively in the background to access the
  33Arch repository.
  34Make sure you have a recent version of `tla` available in the path. `tla` must
  35know about the repositories you pass to 'git archimport'.
  36
  37For the initial import, 'git archimport' expects to find itself in an empty
  38directory. To follow the development of a project that uses Arch, rerun
  39'git archimport' with the same parameters as the initial import to perform
  40incremental imports.
  41
  42While 'git archimport' will try to create sensible branch names for the
  43archives that it imports, it is also possible to specify Git branch names
  44manually.  To do so, write a Git branch name after each <archive/branch>
  45parameter, separated by a colon.  This way, you can shorten the Arch
  46branch names and convert Arch jargon to Git jargon, for example mapping a
  47"PROJECT{litdd}devo{litdd}VERSION" branch to "master".
  48
  49Associating multiple Arch branches to one Git branch is possible; the
  50result will make the most sense only if no commits are made to the first
  51branch, after the second branch is created.  Still, this is useful to
  52convert Arch repositories that had been rotated periodically.
  53
  54
  55MERGES
  56------
  57Patch merge data from Arch is used to mark merges in Git as well. Git
  58does not care much about tracking patches, and only considers a merge when a
  59branch incorporates all the commits since the point they forked. The end result
  60is that Git will have a good idea of how far branches have diverged. So the
  61import process does lose some patch-trading metadata.
  62
  63Fortunately, when you try and merge branches imported from Arch,
  64Git will find a good merge base, and it has a good chance of identifying
  65patches that have been traded out-of-sequence between the branches.
  66
  67OPTIONS
  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
 110GIT
 111---
 112Part of the linkgit:git[1] suite