【Git】パッチをメールで送る

スポンサーリンク

u-bootのfatloadコマンド時のキャッシュフラッシュ処理を組み込んで貰おうとGitHubからPullRequestしたら、E-mailでパッチ送るようにとの事。
Gitには send-email コマンドがあり、macOSから使ってみたのでメモを残す。

準備

macOSのターミナルから、

$ brew install cpanm
$ cpanm --sudo Net::SMTP::SSL

smtpサーバ情報の設定

私は@niftyプロバイダを使っているので、 ~/.gitconfig にsmtpサーバ情報を設定。

[sendemail]
        smtpserver = smtp.v6.nifty.com
        smtpuser = <アカウント>@nifty.com
        smtpencryption = ssl
        smtppass = <メールパスワード>
        smtpserverport = 465

Gmailのsmtpサーバを使う場合

この場合はGmailの設定で “安全性の低いアプリのアクセス” をオンにしておく必要があった。

[sendemail]
        smtpserver = smtp.gmail.com
        smtpuser = <アカウント>
        smtpencryption = tls
        smtppass = <パスワード>
        smtpserverport = 587

Yahooのsmtpサーバを使う場合

[sendemail]
    smtpserver = smtp.mail.yahoo.co.jp
    smtpuser = <アカウント>
    smtpencryption = ssl
    smtppass = <パスワード>
    smtpserverport = 465

パッチの作成

git リポジトリで下記コマンドでパッチ情報の作成

$ git format-patch -s HEAD^

0001-*.patch というようなファイルが作成される。

Linux Kernel を始め、いくつかのコミュニティでは sign-off という制度があります。
sign-off とは、このパッチはオープンソースとして提供しても大丈夫なものですよ、ということを私が証明します、という意味のようです。
-s オプションをつける事で、Signed-off-by:というメッセージが追加される。

又、コミットメッセージには書けなかったような情報をメーリングリスト用に追加することもできる。 — の行とパッチの開始位置 ( diff –git の行) の間にメッセージを書くと、メールを受信した人はそれを読むことができるが、パッチからは除外される。

パッチの送信

$ git send-email 0001-*.patch

To whom should the emails be sent (if anyone)? と聞かれるので、
宛先のメールアドレスを入力。

続いて、Message-ID to be used as In-Reply-To for the first email (if any)? と聞かれるので、
最初はそのまま [Retrun]

最後に、Send this email? ([y]es|[n]o|[q]uit|[a]ll):と聞かれるので、
y を入力。

以上で、パッチの送信が完了。

参照記事

参考

  1. git send-email using Gmail on a Mac
  2. とあるエンジニアの備忘log: git send-email
  3. とあるエンジニアの備忘log: パッチを投稿しよう!
  4. git-send-email(1)
  5. nekomatu’s Blog: linux(kernel)にgit send-emailでパッチを送る方法
  6. GitHubでFork/cloneしたリポジトリを本家リポジトリに追従する – Qiita
  7. Git – プロジェクトへの貢献
  8. Patches < U-Boot < DENX
  9. 第22回勉強会 – Yokohama Android Platform Club
  10. Yahoo!メール – メール クライアントの設定 | free.

コメント

タイトルとURLをコピーしました