我正在开发一个 Android 代码库,其中我在 AOSP 的几个存储库中有很多本地分支。我想自动化这个过程以重新定位到最新的谷歌根清单。对于给定的 AOSP 存储库,我想计算我必须变基的补丁。我想计算从旧根清单分支出来的补丁列表,然后将它们应用到新清单之上。我试过了
git rev-list --no-merges --pretty=oneline sha1 ^sha2
为此,其中 sha1 是分支的顶级 SHA,sha2 是来自新根清单的新 SHA。然而,除了顶部列出的正确补丁之外,还有很多随后列出的补丁。在真正的补丁进程中,它们会在很长一段时间之后出现,并且在逻辑上应该是两个分支的一部分,因为旧的根清单是新根清单的父级。然而,它们似乎只出现在一侧。例如系统/核心:
31e75fab34280152c22b90c7d140877699eaf18d add the impementation of delete_key, delete_all_key
f4067b287c088dafdbd94533e26f6a4d59269da7 WORKAROUND: exit from handle_packet() when adb offline.
b2a79c003ccdc3b5b352e7e25dd9a95a26e5c5e7 [REVERTME] Add vendor/{LIB}/hw as default vendor lib search path
92dc3f6c0e50233eabe8cdb62d8efdda2ac6684b add access libgui for vendor module
8dc03f6e256b34ef08bcfce04e6be91f45e4f6d5 Revert "Restore "Add UID parameter to authentication token""
10a8b78a57278bd199b32d954ad7441e37f11649 If enablefilecrypto or init_user0 fails, reboot into recovery.
701b26ae09a9da0a814a5e8905b4a28293e50de9 Revert "Add UID parameter to authentication token"
dc9ae90d61129501a80323c14b2673003ecf065b Fixing app compat issue b/72143978
244f5f389c2ff3bdfe5e5859e4057d93df2c1e26 Revert "Have property_service create a serialized property_contexts file"
48f39b6f40327d96fcfe1eb8ca5ae990a0bad771 Revert "Prevent vendors from accessing private VNDK libs"
726a81d4e5b1a8d80de7ef1baf17b9393eda461e Fix media on W/T
补丁
31e75fab34280152c22b90c7d140877699eaf18d
f4067b287c088dafdbd94533e26f6a4d59269da7
b2a79c003ccdc3b5b352e7e25dd9a95a26e5c5e7
92dc3f6c0e50233eabe8cdb62d8efdda2ac6684b
将是分支上的那个,这些是我正在寻找的补丁,但是下一个:
8dc03f6e256b34ef08bcfce04e6be91f45e4f6d5
10a8b78a57278bd199b32d954ad7441e37f11649
...
很久以后才会出现,而且只出现在补丁游行的一侧。似乎与reverts有关系。
问题:是否有我缺少的选项rev-list
来抑制此补丁(可能与还原有关)?