利用git format-patch和git send-email通过新浪邮箱把修改的patch文件发送给ipfire-devel

1. 下载源码

$ git clone git://git.ipfire.org/ipfire-2.x.git

2. 设置git用户的邮箱和姓名

$ git config --global user.email "email@sina.com"

$ git config --global user.name "name"

3. 修改文件后commit

$ git commit -m "Simple Chinese language"

commit 74179cda78a4fcbdbb94e0bb8e5ce0c03f38b5fc (HEAD -> master)
Author: name <email@sina.com>
Date:   Mon Oct 7 16:17:03 2019 +0800

     Simple Chinese language

4. 生成patch文件

$ git format-patch -1 74179cda78a4fcbdbb94e0bb8e5ce0c03f38b5fc --stdout > zh_language.patch

5. 设置git的smtp参数

$ git config --global sendemail.from "name <email@sina.com>"

$ git config --global sendemail.smtpServer smtp.sina.com

$ git config --global sendemail.smtpUser email@sina.com

# 邮箱的实际登录密码
$ git config --global sendemail.smtpPass pass

# 新浪邮箱要求登陆认证之后才能发送邮件
$ git config --global sendemail.smtpAuth "LOGIN"

# 新浪邮箱建议使用BASE64编码
$ git config --global sendemail.transferEncoding "BASE64"

$ git config --global sendemail.smtpEncryption tls

$ git config --global sendemail.chainReplyTo false

$ git config --global sendemail.smtpServerPort 587

6. 发送邮件给development@lists.ipfire.org

$ git send-email zh_language.patch --smtp-debug=1

输入ipfire-devel邮箱地址development@lists.ipfire.org, 回车两次就完成.

7.查看是否提交成功

发送邮件过一段时间后,在这里能查到https://lists.ipfire.org/mailman/listinfo/development,不同的模块有对应的邮件列表地址。

8.常见错误

测试中发现有时候 git apply 应用git format-patch创建的补丁文件的时候,可能报告如下错误:

git apply patch doesn't work: no such file or directory

也就是应用补丁的时候会失败,造成这种情况的原因一般是同一份代码配置了多个远程仓库导致的。

比如我同步了一份代码到自己的服务器上,这样就容易出现这种情况。

解决方法一般是克隆一份独立的代码,单独在这个独立的代码中创建代码补丁。

参考链接


发布者

《利用git format-patch和git send-email通过新浪邮箱把修改的patch文件发送给ipfire-devel》上有2条评论

  1. 您好,大佬,我最经开始阅读ipfire的源码,但是自己水平比较低,阅读起来有一定的困难,我想向您请教一下,就是ipfire的源代码中,他的主要功能函数是存储在src的哪个目录下,我应该从哪个文件夹开始进行分析工作

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注