如何在不下载所有历史记录的完整源代码的情况下签出和构建特定的铬标签/分支?

Lin*_*ing 6 tags google-chrome build chromium gclient

我不想建立主分支。相反,我想构建一个与我的桌面 Chrome 相同的最新稳定版本的特定标签。

Ase*_*esh 8

这可能是获取 Chromium 源代码的最快方法。假设59.0.3071.115是您希望构建的 Chromium 版本。你运行这个命令:

git fetch https://chromium.googlesource.com/chromium/src.git +refs/tags/59.0.3071.115:chromium_59.0.3071.115
Run Code Online (Sandbox Code Playgroud)

如果您不想获取历史记录(更快地获取 Chromium 源代码):

git fetch https://chromium.googlesource.com/chromium/src.git +refs/tags/59.0.3071.115:chromium_59.0.3071.115 --depth 1
Run Code Online (Sandbox Code Playgroud)

现在从您的 Chromium 存储库中,使用以下命令显示可用标签列表

git tag
Run Code Online (Sandbox Code Playgroud)

您必须通过运行来签出该标签

git checkout tags/59.0.3071.115
Run Code Online (Sandbox Code Playgroud)

然后按照下面列出的顺序运行这些命令以拉取所有第三方依赖项:

gclient sync
gclient sync --with_branch_heads
gclient runhooks
Run Code Online (Sandbox Code Playgroud)

你可以从这个页面找到 Chromium 的开发、测试、金丝雀、最新和稳定版本信息:https : //www.chromium.org/developers/calendar

现在,您应该能够构建 Chromium。让我知道,如果它有效

  • 如果将“--深度”标志与“git fetch”一起使用,请确保使用“--深度4”或合理的数字,以便历史记录中至少有一个提交在提交消息中包含“Cr-Commit-Position:” 。此元数据对于挂钩(和构建)成功运行是必需的。 (3认同)
  • @WiteCastle 您必须通过运行“git checkout tags/59.0.3071.115”来签出该标签。使用 ``git tag`` 显示可用标签列表。该 fetch 命令只会获取该分支的最后一次提交,因此不会获取整个历史记录。``gclient sync`` 将下载 Chromium 编译所需的第三方依赖项 (2认同)