我们需要将 android 的内核从 升级<REV1>
到<REV2>
.
我正在尝试生成两个<REV1>
和之间的补丁列表<REV2>
。所以我检查了两者是否在同一个分支上,以使用命令获取补丁列表
$git merge-base 69ecc39b5b4ea78de1f25bf9cbe7c236a91f764c af5ddc99f3d0e7c2406d5bf64763eef7d0843127
发现他们不在同一个分支上。因为我得到了第一个共同祖先<REV1>
和<REV2>
作为 c4b646ff80f558010ee486421ee1b718db1a3193
所以我试图在共同祖先和<REV2>
使用之间生成一个补丁列表
$git format-patch c4b646ff80f558010ee486421ee1b718db1a3193..af5ddc99f3d0e7c2406d5bf64763eef7d0843127 -o patch_JUN15_NOV26
现在我创建了一个新分支并将其重置为共同祖先提交
$git reset --hard c4b646ff80f558010ee486421ee1b718db1a319
现在我尝试修补此分支上的整个补丁列表:
$git am --ignore-whitespace --reject ../../jb/kernel/patch_JUN15_APR10/*
但我收到补丁失败错误,要求我解决补丁列表中第一个补丁的冲突。但我希望没有冲突。我的假设是,如果<REV1>
和<REV2>
在同一个分支上,那么从 format-patch 生成的补丁列表可以<REV1>
顺利应用回来而不会发生冲突。
我的假设正确吗?我做对了吗?