在mac上配置git send-email使用gmail

最近在往Qemu社區貢獻代碼,藉着這個機會也有了通過郵件發送patch的體驗(因爲之前主要專注於Ceph和OpenStack的開發,所以提交代碼基本上是用Pull Request和Gerrit,比較簡單方便)。另外,向linux社區貢獻代碼一般也是需要通過郵件發送patch的方式進行code review的。在這裏主要介紹一下如何在mac中配置git send-email使用gmail來發patch。

首先你需要使用homebrew安裝一個git,並確認git包含send-email這個子命令:

$ git --version
git version 2.3.2 (Apple Git-55)
$ git send-email

No patch files specified!

git send-email [options] <file | directory | rev-list options >
我的OS X的版本是Yosemite 10.10.2,安裝的是2.3.2版本的git,自身就帶send-email這個命令.

接着,需要編輯.gitconf在其中加上如下信息,郵箱替換成你自己的,當然前提是你已翻牆。

[sendemail]
	smtpencryption = tls
	smtpuser = [email protected]
	smtpserverport = 587
	smtpserver = smtp.gmail.com

然後,測試一下,先給自己發一封郵件試試。
$ git send-email --to [email protected] ../fix-9pfs-alignment-issue.patch

如果遇到以下錯誤:

Can't locate Net/SMTP/SSL.pm in @INC (you may need to install the Net::SMTP::SSL module) (@INC contains: /Applications/Xcode.app/Contents/Developer/usr/../Library/Perl/5.18/darwin-thread-multi-2level /Applications/Xcode.app/Contents/Developer/usr/share/git-core/perl /Library/Perl/5.18/darwin-thread-multi-2level /Library/Perl/5.18 /Network/Library/Perl/5.18/darwin-thread-multi-2level /Network/Library/Perl/5.18 /Library/Perl/Updates/5.18.2/darwin-thread-multi-2level /Library/Perl/Updates/5.18.2 /System/Library/Perl/5.18/darwin-thread-multi-2level /System/Library/Perl/5.18 /System/Library/Perl/Extras/5.18/darwin-thread-multi-2level /System/Library/Perl/Extras/5.18 .) at /Applications/Xcode.app/Contents/Developer/usr/libexec/git-core/git-send-email line 1310.
說明你要更新perl的Net::SMTP::SSL這個插件。

安裝Net::SMTP::SSL

$ sudo cpan Net::SMTP::SSL
正常安裝完成之後,繼續測試郵件是否能發出去,如果還是報上述錯誤,嘗試在命令之前加一個sudo。
$ sudo git send-email --to [email protected] ../fix-9pfs-alignment-issue.patch
至此,我的郵件是能成功發送出去的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章