8

我有一封 000X-xxxx.patch 格式的带有 N 个附件的邮件。我想在我的主人之上应用所有补丁,但我想将所有提交分开,因为原作者提交了它们。当然包括提交信息。

方法一:打开邮件,点击另存为,xxx.eml,然后:

git am xxx.eml

结果还可以,但是所有内容都被压缩为一次提交。不能接受的。

方法2.所有附件都保存在一个目录中,然后:

git am 000*.patch
Patch format detection failed.
git apply 000*.patch
(does nothing)

这是行不通的。建议?谢谢。

4

2 回答 2

2

阅读git am手册页,看起来提交消息是由 Subject: 行和消息正文组成的,这意味着您将无法重新创建原始的提交序列(也就是说,没有办法通过用于恢复作者用于每个单独提交的提交消息)......虽然根据手册页,git am它旨在使用内联补丁,而不是作为附件包含的补丁,所以我很惊讶它甚至在做正确的事情方法1。

如果您愿意丢弃提交消息,您应该能够将补丁保存到单个文件git apply ...中,并按顺序保存它们。

于 2011-10-17T17:32:07.173 回答
0

据我所知,Thunderbird 没有一种明智的方法可以将多封电子邮件同时保存为单个文件。不过,您可以一次保存一个,这对于小型补丁集确实有效。

具有讽刺意味的是,我无意中发现了最简单的方法,就是将 Linux 补丁发送给不关注邮件列表的同事。转发给自己(作为附件)。

  1. 选择所有补丁电子邮件
  2. 将它们作为附件转发给自己
  3. 将所有附件保存到适当的目录
  4. 应用电子邮件。例如“git am my_patch_dir/[PATCH -v5*”
于 2016-08-11T15:32:31.127 回答