chromium下载历史版本错误
chromium下载历史版本的源码时(比如:43.0.2357.134),可能出现如下错误(并在.gclient同级的目录创建一个_bad_scm的文件夹):
src/third_party/WebKit (ERROR)
—————————————-
[0:00:08] Started.
[0:00:17] _ src\third_party\WebKit : Attempting rebase onto 63a6d727b8c338c1ede7f5acacfb085519fc3051…
[0:00:26]
[0:0:26] Rebase produced error output:
fatal: Needed a single revision
Does not point to a valid commit: 63a6d727b8c338c1ede7f5acacfb085519fc3051
—————————————-
Error: 12> Unrecognized error, please merge or rebase manually.
12> cd X:\chromium_43\src\third_party\WebKit && git rebase –onto 63a6d727b8c338c1ede7f5acacfb085519fc3051 refs/remotes/origin/master
这是因为对应的仓库没有这个提交(这里是63a6d727b8c338c1ede7f5acacfb085519fc3051
)。解决方法是打开DEPS文件(src\DEPS),找到这个提交号并修改为早期版本(比如:43.0.2357.0,patch为0)DEPS里的值(这里是54ac8d7272b177ae0d94ca8de98bd236c7b8dbea
)。同时删除已下载.git仓库(src\third_party\WebKit\.git),否则会出现如下错误:
src/third_party/WebKit (ERROR)
—————————————-
[0:00:09] Started.
[0:00:15] _ src\third_party\WebKit : Attempting rebase onto 54ac8d7272b177ae0d94ca8de98bd236c7b8dbea…
[0:00:20]
[0:00:20] Rebase produced error output:
Cannot rebase: Your index contains uncommitted changes.
Please commit or stash them.
—————————————-
Error: 12> Unrecognized error, please merge or rebase manually.
12> cd X:\chromium_43\src\third_party\WebKit && git rebase –onto 54ac8d7272b177ae0d94ca8de98bd236c7b8dbea refs/remotes/origin/master
然后,重新同步代码gclient sync
或者gclient sync --nohooks
即可。需要指出的是,这样修改后下载的源码是早期的版本(541c...
),可能存在问题,如果有人知道怎么下载原来的版本(63a6...
),烦请在底下的评论区告知。