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...
),烦请在底下的评论区告知。
新闻热点
疑难解答