我只需要像R69297这样的铬的指定版本,这是Chrome的最新开发版本。我使用git,所以我在这里遵循该指示:http://code.google.com/p/chromium/wiki/usinggit但是,在我同步所有代码并查看提交日志之后,我找不到此修订版!然后我考虑了标签,然后在这里搜索。如何使用git检查webkit的指定版本?我在这里找到了,但是在遵循所有步骤之后,等待了很长时间,我仍然一无所获。铬的GIT存储库是否保留标签信息?我该如何获得他们?谢谢

有帮助吗?

解决方案

当提出问题时,Chromium使用了SVN。如今,Git是主要的VC系统,因此我将使用git标签/哈希而不是r ####修订版。

在此答案中,我假设您已经设置了构建铬的先决条件(包括初始结帐)。如果您没有那个,请在 http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutororial.html 在继续之前。你可以跳过 gclient sync 步骤,因为无论如何您都会在以下步骤中替换依赖项。

方案:我想在最新的稳定铬版本上应用一个补丁。要找出最新的稳定版本,只需访问 https://omahaproxy.appspot.com/. 。根据该页面,最新版本为38.0.2125.104。如果您想查看上一个/下一个版本,请访问 http://blink.lc/chromium/refs/ 对于标签的概述。此标签列表包括未发布的版本,例如38.0.2125.106(当在基线上应用新的补丁程序时,最后一个构建号增加了,该补丁按第三个数字标识)。

# Inside chromium/src/
git fetch origin 38.0.2125.106

# Create a new branch "my_stable_branch" that is based on the just-fetched HEAD.
git checkout -b my_stable_branch FETCH_HEAD

# ... apply the patch ...
# (e.g. by editing the files)
# (e.g. by using git cherry-pick [commit id] )
# (e.g. by using git checkout [commit id] [file path] )

# Commit changes (assuming that you want to keep track of your changes)
git commit -va

# Now synchronize the dependencies to the current branch
gclient sync --with_branch_heads  # --jobs 16  if you wish to use parallelism

# Now compile the release build. The output will be stored in src/out/Release.
ninja -C out/Release chrome chrome_sandbox

其他提示

分支

如果您找不到特定的提交,我会检查它是否在“主人”以外的分支中。当您第一次克隆存储库时,您只会获得“主”分支。您可以运行以下内容,以结帐远程铬存储库上的分支:

git branch new-local-branch origin/some-remote-branch
git checkout new-local-branch

显然,为远程分支使用正确的名称,并将您本地分支命名为合乎逻辑的东西。

标签

当您克隆git仓库时,默认情况下应获得其所有标签。您可以通过运行获得所有定义标签的列表 git tag 或者 git tag -l.

如果您看不到任何标签,请尝试明确获取它们:

git fetch --tags

拥有想要的标签后,请查看以开始使用该版本的代码库:

git checkout <name of tag>

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top