Lar*_*nbe 6 git mailing-list mbox mutt git-am
当运行 git-am 来应用我从邮件列表中保存到 mbox 文件中的补丁系列时,如果 mbox 还包含求职信(也称为 PATCH [0/N]),它会抱怨如下:
\n\n128 git \xe2\x80\xa6 am --3way ~/patches/sample.mbox\nPatch is empty.\nWhen you have resolved this problem, run "git am --continue".\nIf you prefer to skip this patch, run "git am --skip" instead.\nTo restore the original branch and stop patching, run "git am --abort".\nRun Code Online (Sandbox Code Playgroud)\n\n确实,求职信是一个空补丁,因为其中不包含补丁分隔符,但我认为git am足够聪明,可以注意到它并完全跳过它。这并不是什么大麻烦,因为我可以毫无问题地跳过从 mutt 将这个补丁添加到 mbox 中,但有时补丁系列到达邮件列表时有些混乱,而且我不能只是将整个线程复制到同一个 mbox 中。 \n或者我可以手动跳过补丁,它将顺利应用。
当它确实是一封求职信时,有什么方法可以指示 git am 跳过补丁号 0 吗?
\n在 Git 2.35(2022 年第一季度)中,“ git am” (man)可以学习--empty=(stop|drop|keep)"并--allow-empty选择调整对一封没有补丁的电子邮件的处理方式。
所以再试一次(Git 2.35+):
\ngit \xe2\x80\xa6 am --empty=keep --allow-empty --3way ~/patches/sample.mbox\nRun Code Online (Sandbox Code Playgroud)\n请参阅提交 9e7e41b、提交 7c096b8、提交 552038e (2021 年 12 月 9 日),作者:\xe5\xbe\x90\xe6\xb2\x9b\xe6\x96\x87 (Aleen) ( aleen42)。
\n (由Junio C Hamano 合并 -- gitster--在提交 ead6767中,2022 年 1 月 5 日)
\n\n\n
am:支持--empty=<option>处理空补丁签署人:\xe5\xbe\x90\xe6\xb2\x9b\xe6\x96\x87 (Aleen)
\n
\n\n由于命令“
\ngit-format-patch\”可以包含不发出任何更改的提交补丁,因此“\git-am”命令还应该支持一个名为“--empty\”的选项,以指定如何处理这些空补丁。在此提交中,我们实现了三个有效选项(\'
\nstop\'、\'drop\' 和 \'keep\')。
git am现在包含在其手册页中:
\n\n\n
--empty=(stop|drop|keep)默认情况下,或者当该选项设置为“
\nstop\”时,该命令\n在缺少补丁的输入电子邮件消息上出错\n并停止到当前 am 会话的中间。当此选项设置为“
\ndrop\”时,将跳过此类电子邮件。当此选项设置为“
\nkeep\”时,创建一个空提交,\n将电子邮件的内容记录为其日志。
| 归档时间: |
|
| 查看次数: |
1506 次 |
| 最近记录: |