内核:bisect merge 提交以查找 non-merge first bad
kernel: bisect merge commits to find non-merge first bad
我将内核中的问题一分为二,第一个错误提交是合并提交:
Parents of 2b90506a8186(都是good):
另外v5.12-rc2是好。
我需要做第二个平分来找到实际的第一个 non-merge 错误提交(即 028a1e968435..2b90506a8186 - 4885 commits or 01d713689441..2b90506a8186 - 46 次提交之一)。
我记得以前在类似的情况下我检出到 parent 之一(第一个分支)并应用 one-by-one 来自另一个 parent (第二个分支)的所有提交第一个分支的顶部。有了这个特殊的分支,我需要解决一些冲突,因为历史是线性的,所以我可以变基。
但我不记得我是如何从另一个 parent 那里得到提交列表的。
它可能非常简单,用 git log --first-parent
.
创建它 parent
但对于这种情况,我无法生成列表,可能是因为 parents 也是合并提交。
我尝试阅读各种资料,但没有成功:
- https://github.com/git/git/blob/master/Documentation/howto/revert-a-faulty-merge.txt
- https://github.com/git/git/blob/master/Documentation/git-bisect.txt
- https://github.com/git/git/blob/master/Documentation/git-bisect-lk2009.txt
- https://github.com/git/git/blob/master/Documentation/howto/revert-a-faulty-merge.txt
更新 我不相信所有设备都有内核回归,只是我的特定 arm64 设备的设备树有问题。找到有问题的提交可以帮助我暂时恢复有问题的提交,直到我在我的设备的设备树中找到需要修复的内容。
Parents of 2b90506a8186 (both are good): […] I need to do second bisect to find actual first non-merge bad commit
您知道合并 2b90506^2 会产生一个无法在您的装备上启动的内核,因此该提交具有会在集成中显示的错误:这很糟糕。
git bisect 2b90506^2 $(git merge-base 2b90506^1 2b90506^2)
并且在测试时,首先合并到 2b90506^1 以检查提交是否会失败集成测试,因为那是你真正的“坏”条件。
我将内核中的问题一分为二,第一个错误提交是合并提交:
Parents of 2b90506a8186(都是good):
另外v5.12-rc2是好。
我需要做第二个平分来找到实际的第一个 non-merge 错误提交(即 028a1e968435..2b90506a8186 - 4885 commits or 01d713689441..2b90506a8186 - 46 次提交之一)。
我记得以前在类似的情况下我检出到 parent 之一(第一个分支)并应用 one-by-one 来自另一个 parent (第二个分支)的所有提交第一个分支的顶部。有了这个特殊的分支,我需要解决一些冲突,因为历史是线性的,所以我可以变基。
但我不记得我是如何从另一个 parent 那里得到提交列表的。
它可能非常简单,用 git log --first-parent
.
但对于这种情况,我无法生成列表,可能是因为 parents 也是合并提交。
我尝试阅读各种资料,但没有成功:
- https://github.com/git/git/blob/master/Documentation/howto/revert-a-faulty-merge.txt
- https://github.com/git/git/blob/master/Documentation/git-bisect.txt
- https://github.com/git/git/blob/master/Documentation/git-bisect-lk2009.txt
- https://github.com/git/git/blob/master/Documentation/howto/revert-a-faulty-merge.txt
更新 我不相信所有设备都有内核回归,只是我的特定 arm64 设备的设备树有问题。找到有问题的提交可以帮助我暂时恢复有问题的提交,直到我在我的设备的设备树中找到需要修复的内容。
Parents of 2b90506a8186 (both are good): […] I need to do second bisect to find actual first non-merge bad commit
您知道合并 2b90506^2 会产生一个无法在您的装备上启动的内核,因此该提交具有会在集成中显示的错误:这很糟糕。
git bisect 2b90506^2 $(git merge-base 2b90506^1 2b90506^2)
并且在测试时,首先合并到 2b90506^1 以检查提交是否会失败集成测试,因为那是你真正的“坏”条件。