内核维护者手册 - 修改补丁【ChatGPT】

简介: 内核维护者手册 - 修改补丁【ChatGPT】

修改补丁

如果你是一个子系统或分支的维护者,有时你需要稍微修改你收到的补丁才能合并它们,因为你的代码与提交者的代码并不完全相同。如果你严格遵守开发者证书的规则(c),你应该要求提交者重新生成补丁,但这完全是浪费时间和精力。规则(b)允许你调整代码,但这样做会非常不礼貌,因为你改变了提交者的代码并让他背书你的错误。为了解决这个问题,建议你在最后一个Signed-off-by头部和你的头部之间添加一行,说明你的修改内容。虽然这并不是强制性的,但在描述之前加上你的邮件和/或姓名,都用方括号括起来,足够明显地表明你对最后一刻的修改负责。示例:

Signed-off-by: Random J Developer <random@developer.example.org>
[lucky@maintainer.example.org: struct foo moved from foo.c to foo.h]
Signed-off-by: Lucky K Maintainer <lucky@maintainer.example.org>

如果你维护一个稳定的分支,并且同时想要给作者信用、跟踪变更、合并修复,并保护提交者免受投诉,这种做法尤其有帮助。请注意,在任何情况下都不能更改作者的身份(From头部),因为它是出现在变更日志中的身份。

特别提示给后向端口者:在提交消息的顶部(主题行之后)插入一个补丁来源的指示似乎是一种常见且有用的做法,以便于跟踪。例如,在一个3.x稳定版本中我们看到的是:

Date:   Tue Oct 7 07:26:38 2014 -0400
libata: Un-break ATA blacklist
commit 1c40279960bcd7d52dbdf1d466b20d24b99176c8 upstream.

而在一个旧的内核中,一旦补丁被后向端口,可能会出现以下内容:

Date: Tue May 13 22:12:27 2008 +0200

wireless, airo: waitbusy() won't delay
    [backport of 2.6 commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a]

无论采用何种格式,这些信息都对于追踪你的代码树的人以及尝试排除你的代码树中的错误的人来说都是有价值的帮助。

相关文章
|
2月前
|
Linux API 调度
CPU热插拔在内核中的支持 【ChatGPT】
CPU热插拔在内核中的支持 【ChatGPT】
48 14
|
2月前
|
Rust Linux 开发工具
写入内核文档注释 【ChatGPT】
写入内核文档注释 【ChatGPT】
29 12
|
2月前
|
缓存 安全 Unix
Linux 内核黑客不可靠指南【ChatGPT】
Linux 内核黑客不可靠指南【ChatGPT】
|
2月前
|
Linux 开发者
Linux内核贡献成熟度模型 【ChatGPT】
Linux内核贡献成熟度模型 【ChatGPT】
|
2月前
|
安全 搜索推荐 Unix
进一步内核文档索引【ChatGPT】
进一步内核文档索引【ChatGPT】
|
2月前
|
Linux API C语言
Linux 内核补丁提交的清单 【ChatGPT】
Linux 内核补丁提交的清单 【ChatGPT】
|
2月前
|
缓存 Linux 开发工具
虚拟映射的内核栈支持 【ChatGPT】
虚拟映射的内核栈支持 【ChatGPT】
|
2月前
|
安全
原子替换和累积补丁 【ChatGPT】
原子替换和累积补丁 【ChatGPT】
|
2月前
|
安全 网络协议 测试技术
(取消)打补丁回调 【ChatGPT】
(取消)打补丁回调 【ChatGPT】
|
2月前
|
Linux API 调度
关于在Linux内核中使用不同延迟/休眠机制 【ChatGPT】
关于在Linux内核中使用不同延迟/休眠机制 【ChatGPT】