提交linux kernel patch流程

news/2024/11/5 5:54:24 标签: linux, 社区, 开源

缩进

git commit 要求自动换行(按照社区具体已要求,内核要求75字符)
git config --global core.editor "vim"

~/.vimrc 中写入
autocmd FileType gitcommit setlocal textwidth=75

本地提交commit

git commit -s
-s会自动在结尾加上Signed-off-by,注意要修改成真名 + 邮箱,而不是昵称 + 邮箱(看社区要求)

第一行会作为title

bpf: it is title

The tcp_bpf_recvmsg_parser() xxxx

xxx

Signed-off-by: Jiayuan Chen <mrpre@163.com>

注意如果commit message你是拷贝进去的话,不会自动换行,要么手输然后回自动换行,要么外面自动换行完再拷贝。

生成本地patch文件

将当前第一个commit生成patch,到tmp目录下
git format-patch HEAD~1 -o /tmp

如果如果生成多个patch,会自动加上 x/y ,无需手动

[patch 1/2]
[patch 2/2]

如果多个patch(即多个commit打成的patchsets),建议加上 --cover-letter 参数, 这会生成一个独立的、额外的、top的email,相当于菜单
加上 --cover-letter ,[patch 0/2] 就是那个菜单,里面需要手动vim编辑,包括subject也需要编辑。
效果如下:

[patch 0/2] introduce xxx
     [patch 1/2] 
     [patch 2/2]

规范性检查

每次修改完需要从头来过,检查脚本在linux源码目录
./scripts/checkpatch.pl /tmp/0001-bpf-fix-filed-access-without-lock.patch

发送给谁

./scripts/get_maintainer.pl /tmp/0001-bpf-fix-filed-access-without-lock.patch
其实这些都不准确,很多都没人理,具体看邮件列表当前谁在review,把这些人也加上去

配置邮箱

发送的时候需要配置stmp。请参考对应邮箱服务,一次配置,后续send-email的时候就不需要填了,以163为例
git config --global sendemail.smtpserver smtp.163.com
git config --global sendemail.smtpserverport 465
git config --global sendemail.smtpuser 邮箱账号
git config --global sendemail.smtppass 密码
git config --global sendemail.smtpencryption ssl

发送

发送patch,指定patch以及收件人,收件人由 get_maintainer.pl 列出,以及当前谁比较活跃

注意,通常先只发送给自己,然后看看效果,没问题了再发给社区

发送给社区,例如这里的人就是我获取到的的reviewer:
git send-email --to edumazet@google.com --to jakub@cloudflare.com --to davem@davemloft.net --to dsahern@kernel.org --to kuba@kernel.org --to pabeni@redhat.com --to netdev@vger.kernel.org --to bpf@vger.kernel.orgc --to linux-kernel@vger.kernel.org /tmp/你的patch文件

如果是多个patch,使用目录/youpatch/* 来代替 单个文件

回复

一般会提出意见,你要按照意见改,可以重新revert掉本地commit,从头来过,然后生成patch
git format-patch -v2 HEAD~ -o /tmp ,-v2会让subject自动打上v2,例如[PATCH v2]
同时使用git commit --amend 编辑你的commit信息,在最后加入如下信息,这样,方便review(非强制,但是这样review比较快,特别是不同人review的时候)

---
v1 -> v2 : 干了什么
           v1 链接
---

git send-email --to 那个人 --cc 其他人 /tmp/v2patch
这样生成了独立的thread,个人喜欢独立的thread。特别是多个patch的时候,来回回复,根本看不清。

如果是单独patch,则可以简单回复并且相同的thread:
git send-email --no-thread --to 那个人 --in-reply-to $messageid --cc 其他人 /tmp/v2patch

messageid你看还要回复谁

[a]
 	 [b]
  	 [c]

你回复a则

[a]
 	 [b]
  	 [c]
     [你的邮件]

你回复b则

[a]
 	[b]
   	   [你的邮件]
  	[c]

9、单纯回复
像reviewer一样回复,通常是用来简单交流的,不需要patch。由于需要按照bottom-posting(和163 gmail等相反的格式= =),以及需要引用收到的内容,这里使用各种webmail肯定是不合适的(至少我没找到),git send-email 也麻烦。

这里建议使用mutt客户,纯命令行的,参考https://wonderful.blog.csdn.net/article/details/143483526


http://www.niftyadmin.cn/n/5739024.html

相关文章

论负载均衡技术在Web系统中的应用

论负载均衡技术在Web系统中的应用 引言 在当今高并发的互联网环境中&#xff0c;负载均衡技术已经成为提升Web系统性能不可或缺的一环。通过有效地将请求分发到多个服务器上&#xff0c;负载均衡不仅能够提高系统的响应速度和处理能力&#xff0c;还能增强系统的可扩展性和稳…

w~自动驾驶合集11

我自己的原文哦~ https://blog.51cto.com/whaosoft/12329152 #特斯拉的“纯视觉”路线 , 也许不是最好的 BEVTransformer占用网络技术路线的大热&#xff0c;再次将激光雷达推向风口浪尖。 激光雷达该不该被抛弃&#xff1f; 对车企来说&#xff0c;这是一个艰难的抉择&am…

Windows 笔记本WiFi 功能消失解决办法

Windows 笔记本用户在使用 WiFi 时遇到功能突然消失的问题确实比较常见。这通常不是病毒造成的&#xff0c;而是其他几个常见原因所导致的。以下是一些可能的原因及解决方案&#xff1a; 视频教程【win10系统无网络&#xff0c;无wifi解决办法】 https://www.bilibili.com/vid…

Docker部署Portainer CE结合内网穿透实现容器的可视化管理与远程访问

文章目录 前言1. 本地安装Docker2. 本地部署Portainer CE3. 公网远程访问本地Portainer-CE3.1 内网穿透工具安装3.2 创建远程连接公网地址4. 固定Portainer CE公网地址前言 本篇文章介绍如何在Ubuntu中使用docker本地部署Portainer CE可视化管理工具,并结合cpolar实现公网远程…

Oracle Sql查询和性能优化(持续更新)

目录 索引优化 查询重写 EXISTS vs. IN 避免全表扫描 合理使用UNION操作符 优化子查询 执行计划分析 表设计优化 规范化与反规范化 分区表 存储参数调整 SGA配置 共享池 数据缓冲区 SGA自动管理 PGA配置 RAID配置 日志文件优化 性能诊断工具 AWR ASH 定期…

C# List的Sort方法

当你调用 List< T >.Sort 方法时&#xff0c;如果类型 T 实现了 IComparable< T > 接口&#xff0c;那么列表中的元素会根据该接口定义的排序规则进行排序。如果没有实现 IComparable< T > 接口&#xff0c;但是实现了 IComparable 接口&#xff0c;那么也会…

Linux云计算个人学习总结(二)

高级文件系统 一、RSYNC概述 1、作用&#xff1a;快速的文件复制工具&#xff08;支持本地和远程&#xff09;&#xff0c;以及删除、查看等基本功能。 2、特点&#xff1a;支持实时&#xff08;inotify、sersync&#xff09;的增量备份工具3、模式&#xff1a;检查模式&#…

华为HarmonyOS打造开放、合规的广告生态 - 开屏广告

场景介绍 开屏广告是一种在应用启动时且在应用主界面显示之前需要被展示的广告。您需要预先为App设计一张开屏默认的Slogan图片&#xff0c;确保在未获得到开屏广告之前展示默认的Slogan&#xff0c;提供良好的用户体验。 开屏广告分为全屏开屏广告、半屏开屏广告&#xff0c…