RTEMS创造并提交patch

来源:互联网 发布:如何预防网络数据安全 编辑:程序博客网 时间:2024/04/29 20:54

前两篇博文大致介绍了向rtems提交patch的方法和途径,接下来详细介绍如何创造patch并通过git提交至rtems devel:

在这里全部采用git进行diff比对和提交,不建议采用linux自带的diff命令,因为本人一开始采用linux的diff命令提交后,被rtems公司的大牛说了一通。。。。,因为linux自带的diff命令没有版本信息和作者信息,给管理带来很大不便,只适用于自身开发需要,并不适合团队开发或者多人贡献。

首先git clone远程库到本地:

git clone git://git.rtems.org/rtems.git rtems


然后创建一个本地分支,在分支上进行修改:

git checkout -b rtems-sichen master


创建完成后可以利用git branch命令查看本地分支情况,带*表示当前分支。

然后在分支进行代码的修改和添加。

修改完成后,利用git add命令将变化进行添加

然后利用 git commit进行提交改变,参数-m添加注释。

要注意的是,如果没有使用git add命令就直接git commit ,会导致报错:这些改变未被添加。

git add /some/changed/filesgit commit
因此这两个命令一般在一起用。


git commit只是本地提交,还没有上传到远程仓库,git push是将commit上传到远程仓库。


最后进行patch制作:

git format-patch master


将当前branch和本地master进行对比,然后创造patch,该命令是将patch输出到命令行,如果要制作patch文件,就要重定向输出了。

git format-patch master --stdout > diff.patch
将patch输出到diff.patch文件

git format-patch origin/master --stdout > diff.patch

这是将patch与远程仓库的master分支进行patch。



制作好patch后就是通过git发送给rtems了

这里用到的命令是:

git send-email /path/to/patch --to devel@rtems.org

当然要用git send mail首先要进行一系列的配置:

首先配置git 邮箱服务器,在这里本来可以选用gmail进行配置的,但考虑到国内原因,用qq邮箱进行演示:

配置smtp服务,qq邮箱的smtp地址为smtp.qq.com

git config --global sendemail.smtpserver smtp.qq.com


配置smtp服务端口:
git config --global sendemail.smtpserverport 587


 git config --global sendemail.smtpencryption tls


配置你的邮箱,这里输入你想要通过git发送的qq邮箱即可:
git config --global sendemail.smtpuser your_email@qq.com


这样git上就设置完毕,接下来要去qq邮箱端进行smtp等服务的启动。默认的关闭的。

登陆qq邮箱,在账户栏找到如下:


默认右边是关闭的,只要点击开启,会让你扫描一个二维码验证身份,然后可以开启。

理论上开启前两个即可,为了保险起见,四个全部开启。


然后要注意了:截图中黄字非常重要:登陆第三方客户端时,密码框请输入授权码进行验证!


这里会在发送patch时用到


当配置好之后,开始进行patch发送:

命令:

git send-email /path/to/patch --to devel@rtems.org


输入后,会提示,是否要进行发送


输入y然后会提示让你输入邮箱密码:


注意这里的密码不是你的qq邮箱密码,就是之前黄字中说的密码,要生成授权码的。


输入授权码后回车,如果没有报错,恭喜你发送成功了。rtems mail list 的全体成员都能看到你的补丁。







0 0
原创粉丝点击