send patches with git - cheat sheet

1.5 系列で実際の patch を送る際の command 例。 patch file のうちひとつの名前が 0001-new-feature.patch という前提ね。細かい説明は http://d.hatena.ne.jp/janus_wel/20090210/1234441680 に。

  • remote から変更した分の patch を作る
    • git format-patch --numbered origin/master
  • patch をひとつ送る場合 ( このあとにどんな patch か説明する mail を送るといい )
    1. git send-email --to project@example.com 0001-new-feature.patch
    2. From の確認。
    3. In-Reply-To はそのまま Enter 。
  • 上記で対話 prompt を出したくない場合
    • git send-email --from "your_name <your_account@example.com>" --to project@example.com --in-reply-to "" 0001-new-feature.patch
  • 説明と一緒に複数の patch を送る場合 ( 大規模な変更を送りつける場合 )
    1. git send-email --to project@example.com --compose --subject "new feature" --no-chain-reply-to *.patch
    2. From の確認。
    3. In-Reply-To はそのまま Enter 。
    4. editor が起ち上がるので説明を書いて editor を終了させる。
    5. 送って良いかどうか聞かれるので y
  • 上記で対話 prompt を極力排除したい場合
    1. git send-email --from "your_name <your_account@example.com>" --to project@example.com --in-reply-to "" --compose --subject "new feature" --no-chain-reply-to *.patch
    2. editor が起ち上がるので説明を書いて editor を終了させる。
    3. 送って良いかどうか聞かれるので y
  • 返信として patch をひとつ送る場合 ( それこの patch でできるよ的な空気で ? )
    • git send-email --to project@example.com --in-reply-to <1234567890abcdeffedcba09876543211234567890ab@mail.example.com> 0001-new-feature.patch