2011-10-17 10 views
5

N個の添付ファイルがある000X-xxxx.patch形式のメールがあります。私はマスターの上にすべてのパッチを適用したいですが、元の著者がそれらをコミットしたので、私はすべてのコミットを別にしたいと思います。もちろん、コミットメッセージを含む。Thunderbirdからgitシリーズのパッチを適用する最も簡単な方法はどれですか

方法1:

git am xxx.eml 

結果はOKですが、1コミットにすべてが押しつぶされている:そして、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は添付ファイルとして含まれているパッチではなくインラインパッチで動作するようになっていますが、私はそれが驚いています

コミットメッセージを破棄する場合は、個々のファイルにパッチを保存し、順番にgit apply ...だけ保存することができます。

+0

申し訳ありませんがgit applyは私のために何もしません。 – lzap

+0

OK git applyとgitは別々の添付ファイルで作業しています。私はちょうど最初の行の冒頭に ">"を持っていました。だから、Thunderbirdはどうにかそれを台無しにした。解決済み! – lzap

+0

それを聞いてうれしい! – larsks

0

私が見つけた限りでは、Thunderbirdは複数のメールを同時に個別のファイルとして保存するための意味のある 方法を持っていません。あなたは を一度に1つずつ保存することができますが、これは小さなパッチセットでは機能します。

皮肉なことに、私は偶然、Linuxパッチをメーリングリストに従わない同僚に送信することで、最も簡単な方法を発見しました。それらに転送 あなた自身に(添付ファイルとして)。

  1. はメールを適用する適切なディレクトリに添付ファイル
  2. 保存すべての添付ファイルとして自分自身にすべてのパッチのメール
  3. フォワードそれらを選択します。例:「git am my_patch_dir/[PATCH -v5 *」
+0

少なくともThunderbird 52.1.0は複数の電子メールを保存できるようです:複数の電子メールにマークを付け、コンテキストメニューに「名前を付けて保存」と言うだけです。これにより、マークされたすべての電子メールが保存されるフォルダを選択することができます。 – falstaff

+0

変更されていない限り、複数の電子メールで "名前を付けて保存"を使用すると、1つのファイルにすべての電子メールが含まれますが、この大きなファイルはgit am、AFAICT –

関連する問題