2011-10-17 20 views
5

我有一個郵件,其中有000X-xxxx.patch格式的N個附件。我想將所有補丁應用到我的主人之上,但我希望將所有提交分開,就像原始作者提交它們一樣。當然包括提交消息。從Thunderbird應用git系列補丁最簡單的方法是什麼

方法1:打開郵件,點擊另存爲,xxx.eml然後:

git am xxx.eml 

結果是正常的,但進入一個承諾一切都壓扁。不能接受的。

方法2.所有的附件都保存在一個目錄,然後:

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

這是行不通的。建議?謝謝。

+0

有一個mbox導出擴展的提及:https://support.mozilla.org/en-US/questions/1131636 | https://addons.mozilla.org/en-GB/thunderbird/addon/importexporttools/,但它似乎與目前的Thunderbird 52.6.0不兼容。 –

回答

2

通過git am手冊頁閱讀,看起來提交消息是由Subject:行和消息體構成的,這意味着你不能重新創建原始的提交序列(即,沒有辦法恢復作者用於每個單獨提交的提交消息)...雖然根據手冊頁,git am是爲了使用內聯補丁,而不是作爲附件包含的補丁,所以我很驚訝它是即使在方法1中也能做正確的事情。

如果您願意放棄提交消息,您應該能夠將補丁保存到單個文件中,然後按順序保存這些補丁。

+0

嗯,但混帳適用於我沒有做什麼。 – lzap

+0

確定git apply和git都在獨立的附件上工作。我剛剛在第一行的開頭有一個「>」。所以Thunderbird不知怎的搞砸了。解決了! – lzap

+0

很高興聽到它! – larsks

0

就我所能找到的,Thunderbird沒有一個合理的方法來將多個電子郵件同時保存爲單個文件。但是,您可以一次將它們保存爲一個,但對於小型修補程序組來說,它確實有效。具有諷刺意味的是,我意外地發現了通過向不遵循郵件列表的同事發送Linux補丁的最簡單方法。轉發給他們 給你自己(作爲附件)。

  1. 選擇所有的補丁電子郵件
  2. 轉發給自己作爲附件
  3. 保存所有附件,以適當的目錄
  4. 申請的電子郵件。例如「git am my_patch_dir/[PATCH -v5 *」
+0

至少雷鳥52.1.0似乎可以保存多個電子郵件:只需標記多個電子郵件,並在上下文菜單中說「另存爲...」。這允許選擇所有標記的電子郵件將被保存到的文件夾。 – falstaff

+0

除非發生變化,否則在多封電子郵件中使用「另存爲」會導致一個文件包含所有電子郵件,這個大文件根本無法使用git am,AFAICT –

相關問題