Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.35.1 → 2.43.0 no changes
- 2.35.0 01/24/22
描述
从一个或多个 GNU Arch 仓库导入一个项目。 它将在所提供的 <归档>/<分支> 参数所定义的命名空间内跟踪分支和仓库。如果它找不到合并后的远程分支,就会把它作为一个普通的提交导入。如果它能找到它,它会尽可能地将其标记为合并(见下面的讨论)。
该脚本希望你提供关键的根目录,它可以从 initial 或 tag 类型的 Arch 提交开始导入。它将跟踪并导入所提供的根目录下的新分支。
它希望只处理一个项目。如果它看到有不同根目录的分支,它将拒绝运行。在这种情况下,编辑你的 <归档>/<分支> 参数,以明确定义导入的范围。
git archimport 在后台广泛使用 tla
来访问Arch仓库。 确保你的路径中有一个最新版本的 tla
。tla
必须知道你传递给 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 imports.
虽然 git archimport 会尝试为它导入的档案创建合理的分支名,但也可以手动指定 Git 分支名。 要做到这一点,在每个 <归档>/<分支> 参数后面写一个 Git 分支名,用冒号隔开。 这样,你可以缩短 Arch 分支的名称,并将 Arch 的行话转换成 Git 的行话,例如将 "PROJECT--devo--VERSION" 分支映射为 "master"。
将多个 Arch 分支关联到一个 Git 分支是可能的;只有在创建第二个分支后没有向第一个分支提交的情况下,其结果才是最合理的。 不过,这对于转换定期轮换的 Arch 仓库还是很有用的。
MERGES
Arch 的补丁合并数据在 Git 中也被用来标记合并。Git 并不关心对补丁的追踪,只有当一个分支包含了自分叉点以来的所有提交时,才会考虑合并。最终的结果是,Git 会很好地了解分支的分歧程度。所以导入过程确实会丢失一些补丁交易的元数据。
幸运的是,当你尝试合并从 Arch 导入的分支时,Git 会找到一个好的合并基础,而且它有很大的机会识别出在分支之间被交易的不符合顺序的补丁。
选项
- -h
-
显示用途。
- -v
-
Verbose output.
- -T
-
多标签。将为每个提交创建一个标签,反映 Arch 库中的提交名称。
- -f
-
使用快速补丁集导入策略。 这对大目录树来说可以明显加快,但不能处理目录重名或权限变化。 默认策略是缓慢而安全的。
- -o
-
为了与早期版本的 git archimport 所使用的旧式分支名兼容,使用这个名字。 旧式的分支名是 category--branch,而新式的分支名是 archive,category--branch--version。 在这两种情况下,在命令行中给出的名字将覆盖自动生成的名字。
- -D <depth>
-
遵循合并的祖先,并尝试导入已经合并的目录树。 如果补丁日志已经被修剪,则指定一个大于 1 的深度。
- -a
-
尝试在
http://mirrors.sourcecontrol.net
上自动注册档案,这在 -D 选项下特别有用。 - -t <缓存目录>
-
重写默认缓存目录。
- <archive>/<branch>
-
<归档>/<分支> 标识符的格式是
tla log
能理解的。
GIT
属于 git[1] 文档