162306a36Sopenharmony_ci.. include:: ../disclaimer-zh_CN.rst
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci:Original: Documentation/maintainer/modifying-patches.rst
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci:译者:
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci 吴想成 Wu XiangCheng <bobwxc@email.cn>
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci.. _modifyingpatches_zh:
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci修改补丁
1262306a36Sopenharmony_ci========
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci如果你是子系统或者分支的维护者,由于代码在你的和提交者的树中并不完全相同,
1562306a36Sopenharmony_ci有时你需要稍微修改一下收到的补丁以合并它们。
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci如果你严格遵守开发者来源证书的规则(c),你应该要求提交者重做,但这完全是会
1862306a36Sopenharmony_ci适得其反的时间、精力浪费。规则(b)允许你调整代码,但这样修改提交者的代码并
1962306a36Sopenharmony_ci让他背书你的错误是非常不礼貌的。为解决此问题,建议在你之前最后一个
2062306a36Sopenharmony_ciSigned-off-by标签和你的之间添加一行,以指示更改的性质。这没有强制性要求,最
2162306a36Sopenharmony_ci好在描述前面加上你的邮件和/或姓名,用方括号括住整行,以明显指出你对最后一刻
2262306a36Sopenharmony_ci的更改负责。例如::
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci        Signed-off-by: Random J Developer <random@developer.example.org>
2562306a36Sopenharmony_ci        [lucky@maintainer.example.org: struct foo moved from foo.c to foo.h]
2662306a36Sopenharmony_ci        Signed-off-by: Lucky K Maintainer <lucky@maintainer.example.org>
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci如果您维护着一个稳定的分支,并希望同时明确贡献、跟踪更改、合并修复,并保护
2962306a36Sopenharmony_ci提交者免受责难,这种做法尤其有用。请注意,在任何情况下都不得更改作者的身份
3062306a36Sopenharmony_ci(From头),因为它会在变更日志中显示。
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci向后移植(back-port)人员特别要注意:为了便于跟踪,请在提交消息的顶部(即主题行
3362306a36Sopenharmony_ci之后)插入补丁的来源,这是一种常见而有用的做法。例如,我们可以在3.x稳定版本
3462306a36Sopenharmony_ci中看到以下内容::
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci        Date:   Tue Oct 7 07:26:38 2014 -0400
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci        libata: Un-break ATA blacklist
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci        commit 1c40279960bcd7d52dbdf1d466b20d24b99176c8 upstream.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci下面是一个旧的内核在某补丁被向后移植后会出现的::
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci        Date:   Tue May 13 22:12:27 2008 +0200
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci        wireless, airo: waitbusy() won't delay
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci        [backport of 2.6 commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a]
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci不管什么格式,这些信息都为人们跟踪你的树,以及试图解决你树中的错误的人提供了
5162306a36Sopenharmony_ci有价值的帮助。
52