【发布时间】:2021-08-28 19:56:18
【问题描述】:
我在内核中将问题一分为二,第一个错误提交是 merge 提交:
2b90506a8186 的父母(都好):
还有v5.12-rc2 很好。
我需要做第二个二等分来找到实际的第一个非合并错误提交(即028a1e968435..2b90506a8186 - 4885 提交或01d713689441..2b90506a8186 - 46 提交之一)。
我记得之前在类似的情况下,我签出到其中一个父级(第一个分支)并在第一个分支的顶部逐个应用来自另一个父级(第二个分支)的所有提交。有了这个特殊的分支,我需要解决一些冲突,因为历史是线性的。
但我不记得我是如何从另一个父母那里得到提交列表的。
这可能很简单,用 git log --first-parent 创建它的父级。
但对于这种情况,我无法生成列表,可能是由于父母也是合并提交。
我尝试阅读各种资料,但没有成功:
- 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 设备的设备树存在问题。找到有问题的提交可以帮助我暂时恢复有问题的提交,直到我在我的设备的设备树中找到需要修复的内容。
【问题讨论】:
-
(a) 你的好坏测试是什么? (b) 你的问题是什么? 2b90506 与父母双方没有任何差异,合并没有什么不寻常的地方。请具体说明,编辑:不仅仅是你在看哪里或你如何解释你所看到的,而是你在看什么以及你在寻找什么。
-
@jthill (b) 我需要做第二个二等分来找到实际的第一个非合并错误提交。整个问题是,围绕第一个坏的合并提交太多,我感到困惑 :) (a) good:我的设备正在启动,bad:设备在启动过程中。
标签: git version-control linux-kernel bisect