设置和配置
获取和创建项目
基本快照
分支与合并
共享和更新项目
检查和比较
打补丁
调试
电子邮件
外部系统
服务器管理
- 2.35.1 → 2.50.1 无更改
-
2.35.0
2022-01-24
- 2.19.3 → 2.34.8 无更改
-
2.19.2
2018-11-21
- 2.14.6 → 2.19.1 无变化
-
2.13.7
2018-05-22
- 2.1.4 → 2.12.5 无变化
-
2.0.5
2014-12-17
概要
git archimport [-h] [-v] [-o] [-a] [-f] [-T] [-D <depth>] [-t <tempdir>] <archive>/<branch>[:<git-branch>]…
描述
从一个或多个 GNU Arch 仓库导入一个项目。它将遵循所提供的 <archive>/<branch> 参数定义的命名空间内的分支和仓库。如果它找不到合并来源的远程分支,它将只将其作为普通提交导入。如果能找到,它将尽可能地将其标记为合并(参见下文讨论)。
此脚本要求您提供关键根,以便它可以从 Arch 提交的初始导入或标签类型开始导入。它将在所提供的根目录中跟踪并导入新分支。
它预期只处理一个项目。如果它看到具有不同根的分支,它将拒绝运行。在这种情况下,请编辑您的 <archive>/<branch> 参数,以明确定义导入的范围。
git archimport 在后台广泛使用 tla
来访问 Arch 仓库。请确保您的路径中有一个最新版本的 tla
。tla
必须知道您传递给 git archimport 的仓库。
对于初始导入,git archimport 期望在一个空目录中运行。要跟踪使用 Arch 的项目开发,请使用与初始导入相同的参数重新运行 git archimport 以执行增量导入。
虽然 git archimport 将尝试为它导入的归档文件创建合理的分支名称,但也可以手动指定 Git 分支名称。为此,在每个 <archive>/<branch> 参数后写入一个 Git 分支名称,用冒号分隔。通过这种方式,您可以缩短 Arch 分支名称,并将 Arch 术语转换为 Git 术语,例如将“PROJECT--devo--VERSION”分支映射到“master”分支。
将多个 Arch 分支关联到一个 Git 分支是可能的;只有在第二个分支创建后,第一个分支没有新的提交时,结果才最有意义。尽管如此,这对于转换定期轮换的 Arch 仓库仍然很有用。
合并
Arch 中的补丁合并数据也用于在 Git 中标记合并。Git 不太关心跟踪补丁,并且只有当一个分支合并了自它们分叉以来的所有提交时才将其视为合并。最终结果是 Git 将很好地了解分支之间分歧的程度。因此,导入过程确实会丢失一些补丁交换的元数据。
幸运的是,当您尝试合并从 Arch 导入的分支时,Git 会找到一个很好的合并基础,并且很有可能识别出在分支之间非顺序交换的补丁。
选项
- -h
-
显示用法。
- -v
-
详细输出。
- -T
-
许多标签。将为每个提交创建一个标签,反映 Arch 仓库中的提交名称。
- -f
-
使用快速补丁集导入策略。这对于大型树可能显著更快,但无法处理目录重命名或权限更改。默认策略是慢速且安全的。
- -o
-
使用此选项以兼容早期版本 git archimport 使用的旧式分支名称。旧式分支名称是 category--branch,而新式分支名称是 archive,category--branch--version。在两种情况下,命令行上给定的名称将覆盖自动生成的名称。
- -D <深度>
-
跟踪合并祖先并尝试导入已合并的树。如果补丁日志已被修剪,请指定大于 1 的深度。
- -a
-
尝试在
http://mirrors.sourcecontrol.net
自动注册归档文件。这对于 -D 选项特别有用。 - -t <临时目录>
-
覆盖默认临时目录。
- <归档>/<分支>
-
tla
log
可理解的格式的 <归档>/<分支> 标识符。