What is the easiest way to apply git series of patches from Thunderbird

独自空忆成欢 提交于 2019-12-06 01:45:15

问题


I have a mail with N attachments in the 000X-xxxx.patch format. I would like to apply all the patches on top of my master, but I would like to have all the commits separate, as the original author commited them. Including the commit message of course.

Method 1: Open the email, click Save as, xxx.eml and then:

git am xxx.eml

The result is ok, but everything is squashed into one commit. Not acceptable.

Method 2. All the attachments are saved in a directory, then:

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

This is not working. Advices? Thanks.


回答1:


Reading through the git am man page, it looks like the commit message is formed from the Subject: line and the message body, which means that you're not going to be able to recreate the original sequence of commits (that is, there's no means by which to recover the commit message the author used for each individual commit)...although according to the man page, git am is meant to work with inline patches, not patches included as attachments, so I'm surprised it's doing the right thing even in method 1.

If you're willing to discard the commit messages, you should be able to save the patches to individual files and just git apply ... them in sequence.




回答2:


As far as I have been able to find, Thunderbird does not have a sensible way to save several emails as individual files at the same time. You can save them one at a time, though, and this does work for small patch sets.

Ironically, I accidentally discovered the easiest way by sending Linux patches to a colleague who doesn't follow the mailing lists. Forward them To yourself (as attachments).

  1. Select all the patch emails
  2. Forward them to yourself as attachments
  3. Save all attachments to an appropriate directory
  4. apply the emails. e.g "git am my_patch_dir/[PATCH -v5*"


来源:https://stackoverflow.com/questions/7794772/what-is-the-easiest-way-to-apply-git-series-of-patches-from-thunderbird

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!