查看 V8 源代码
本文档介绍如何本地检出 V8 源代码。如果您只想在线浏览源代码,请使用以下链接
使用 Git #
V8 的 Git 仓库位于 https://chromium.googlesource.com/v8/v8.git,在 GitHub 上有一个官方镜像:https://github.com/v8/v8。
不要直接 git clone
这些 URL 中的任何一个!如果您想从您的检出中构建 V8,请按照以下说明进行操作,以确保一切设置正确。
说明 #
在 Linux 或 macOS 上,首先安装 Git,然后安装
depot_tools
。在 Windows 上,请按照 Chromium 说明 (适用于 Google 员工,适用于非 Google 员工) 安装 Visual Studio、Windows 调试工具和
depot_tools
(在 Windows 上包含 Git)。通过在您的终端/shell 中执行以下命令来更新
depot_tools
。在 Windows 上,这必须在命令提示符 (cmd.exe
) 中完成,而不是在 PowerShell 或其他程序中完成。gclient
对于 **推送访问权限**,您需要设置一个包含您的 Git 密码的
.netrc
文件- 转到 https://chromium.googlesource.com/new-password 并使用您的提交者帐户(通常是
@chromium.org
帐户)登录。注意:创建新密码不会自动撤销任何以前创建的密码。请确保您使用的电子邮件与git config user.email
设置的电子邮件相同。 - 查看包含 shell 命令的大型灰色框。将这些行粘贴到您的 shell 中。
- 转到 https://chromium.googlesource.com/new-password 并使用您的提交者帐户(通常是
现在,获取 V8 源代码,包括所有分支和依赖项
mkdir ~/v8
cd ~/v8
fetch v8
cd v8
之后,您将有意处于分离头状态。
您可以选择指定如何跟踪新分支
git config branch.autosetupmerge always
git config branch.autosetuprebase always
或者,您可以像这样创建新的本地分支(推荐)
git new-branch fix-bug-1234
保持最新 #
使用 git pull
更新您当前的分支。请注意,如果您不在分支上,git pull
将不起作用,您需要使用 git fetch
代替。
git pull
有时 V8 的依赖项会更新。您可以通过运行以下命令来同步这些依赖项
gclient sync
发送代码以供审查 #
git cl upload
提交 #
您可以使用代码审查中的 CQ 复选框进行提交(首选)。另请参阅 chromium 说明,了解 CQ 标志和故障排除。
如果您需要比默认值更多的 trybots,请在 Gerrit 上的提交消息中添加以下内容(例如,用于添加 nosnap bot)
CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel
要手动落地,请更新您的分支
git pull --rebase origin
然后使用以下命令提交
git cl land
尝试作业 #
本节仅对 V8 项目成员有用。
从代码审查创建尝试作业 #
将 CL 上传到 Gerrit。
git cl upload
通过向 try bots 发送尝试作业来尝试 CL,如下所示
git cl try
等待 try bots 构建,您将收到一封包含结果的电子邮件。您也可以在 Gerrit 上的补丁中查看尝试状态。
如果应用补丁失败,您需要重新整理补丁或指定要同步到的 V8 版本
git cl try --revision=1234
从本地分支创建尝试作业 #
将一些更改提交到本地仓库中的 git 分支。
通过向 try bots 发送尝试作业来尝试更改,如下所示
git cl try
等待 try bots 构建,您将收到一封包含结果的电子邮件。注意:目前一些副本存在问题。建议从代码审查发送尝试作业。
有用参数 #
修订版参数告诉 try bot 使用哪个代码库修订版来应用您的本地更改。如果没有修订版,将使用 V8 的 LKGR 修订版 作为基础。
git cl try --revision=1234
要避免在所有 bots 上运行您的尝试作业,请使用 --bot
标志,并使用逗号分隔的构建器名称列表。例如
git cl try --bot=v8_mac_rel
查看尝试服务器 #
git cl try-results
源代码分支 #
V8 有几个不同的分支;如果您不确定要获取哪个版本,您很可能想要最新的稳定版本。请查看我们的 发布流程,以了解有关使用不同分支的更多信息。
您可能希望跟踪 Chrome 在其稳定(或测试版)频道上发布的 V8 版本,请参阅 https://omahaproxy.appspot.com/。