Git
英语 ▾ 主题 ▾ 最新版本 ▾ git-archimport 最后更新于 2.35.0

名称

git-archimport - 将 GNU Arch 仓库导入 Git

概要

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 仓库。确保您的路径中有一个最新版本的 tlatla 必须知道您传递给 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 <depth>

跟踪合并祖先并尝试导入已合并的树。如果补丁日志已被修剪,则指定大于 1 的深度。

-a

尝试在 http://mirrors.sourcecontrol.net 自动注册归档文件。这对于 -D 选项特别有用。

-t <tmpdir>

覆盖默认的临时目录。

<archive>/<branch>

<archive>/<branch> 标识符,格式为 tla log 所理解的格式。

Git

git[1] 套件的一部分

scroll-to-top