repo’bisect’用于调试Android?

git bisect通过计算“好”和“坏”之间的提交数量并检查中间的变化来工作。 不幸的是,这对于repo来说效果不好,因为一个项目(例如框架)可能在早期就有很多变化而另一个项目(例如内核)可能会有一堆后来的变化,所以’repo forall -c“git bisect .. “’可能会有一个项目在一个比其他项目更老的州检查出来。

我的问题是,是否有办法让git-bisect根据提交日期选择其提交,因此当跨项目完成时,我们最有可能被留在一个干净地编译的状态。

git bisect不能同时用于多个存储库。

您可能最好编写自己的脚本,在日期范围内实现基本的二分算法,并在每个存储库中使用git rev-list -n1 --before 来获取一个git commit来检查对应于任何日期你的脚本目前正在分割。

这是我为其他目的编写的一个示例二分脚本。 请注意,它不是专门为您的情况设计的; 它只是实现二分的一个例子:

https://gist.github.com/2040290

有人编写了这样的脚本: https : //github.com/tdm/android-scripts/blob/master/repo-bisect