1
使用git send-email
发送修补程序组十分方便。但是,一旦我收到一套补丁,如何应用它们?特别是,如何按正确的顺序应用它们?如何使用git应用一系列修补程序
如果我将它们保存在单独的Maildir中,并且我将此Maildir的参数设置为git am
,则修补程序不会以正确的顺序应用。
目前,我在git am
命令行上单独指定每个文件,但它很单调。
使用git send-email
发送修补程序组十分方便。但是,一旦我收到一套补丁,如何应用它们?特别是,如何按正确的顺序应用它们?如何使用git应用一系列修补程序
如果我将它们保存在单独的Maildir中,并且我将此Maildir的参数设置为git am
,则修补程序不会以正确的顺序应用。
目前,我在git am
命令行上单独指定每个文件,但它很单调。
One解决方案将是:
git am $(perl -e 'my @r = sort { `grep Subject: $a` cmp `grep Subject: $b` } @ARGV; print "@r"' Maildir/new/*)
我强烈不喜欢这个技巧。有人有更好的主意吗?
你在Windows吗? – krlmlr
'git am'按排序顺序应用maildir条目,但排序非常简单,其中“12”在“1”之后但在“2”之前:1,10,11,12,13,2,3, 4 ...在内部固定'git am'的不足之处在于确保“short”名称具有前导0,因此排序为01,02,03,...,10,11,12。或者,您可以将所有单数位补丁放在一个目录中,2位数补丁放在另一个目录中。 – torek
@torek:奇怪。在我的系统中,当我使用'format-patch'时,所有的修补程序都有一个四位前缀和前导零以避免此问题。 “发送电子邮件”与此不同吗? – krlmlr