我正在使用 repo 来构建 Android。我想从以前的版本构建(例如上个月的版本 #1234)。我做这样的事情:
我从清单的特殊副本开始,该副本明确设置每个包的修订版本:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
...
<project name="packages/apps/Browser" revision="f42301ffb36a68fadffdb87fa1bdc09aceac53cb"/>
<project name="packages/apps/Calculator" revision="481a23ed78397e35201de3638ec0d76797b77d25"/>
<project name="packages/apps/Calendar" revision="19a0737be4d51aa71a0d122f5f24ab7e53869398"/>
<project name="packages/apps/Camera" revision="67e6c190f82f0f7b8704fe5663eb92082c4cc943"/>
...
</manifest>
这基本上是 default.xml 的副本,但为每个包的修订明确指定,用于创建 build #1234 时就位的提交。
所以现在我给出命令
cp ~/manifest-build-1234.xml .repo/manifests
repo init -m manifest-build-1234.xml
repo sync
结果:某些包设置为清单中指定的修订版,但其他一些包仍保留在上一个标题中。
如果我完全删除这些软件包,然后执行另一个repo sync
,则软件包将以正确的修订版签出。
所以我的问题是:除了在我执行repo sync
之前删除所有内容之外,我如何保证所有软件包都以正确的修订版签出?
来检查在运行 repo 命令时执行了哪些步骤。 例如"存储库 --跟踪同步 -j4"