在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
至此,我的邮件是能成功发送出去的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章