Drew DeVault | 4ebdf7b | 2020-09-03 12:05:44 -0400 | [diff] [blame] | 1 | .. _modifyingpatches: |
| 2 | |
| 3 | Modifying Patches |
| 4 | ================= |
| 5 | |
| 6 | If you are a subsystem or branch maintainer, sometimes you need to slightly |
| 7 | modify patches you receive in order to merge them, because the code is not |
| 8 | exactly the same in your tree and the submitters'. If you stick strictly to |
| 9 | rule (c) of the developers certificate of origin, you should ask the submitter |
| 10 | to rediff, but this is a totally counter-productive waste of time and energy. |
| 11 | Rule (b) allows you to adjust the code, but then it is very impolite to change |
| 12 | one submitters code and make him endorse your bugs. To solve this problem, it |
| 13 | is recommended that you add a line between the last Signed-off-by header and |
| 14 | yours, indicating the nature of your changes. While there is nothing mandatory |
| 15 | about this, it seems like prepending the description with your mail and/or |
| 16 | name, all enclosed in square brackets, is noticeable enough to make it obvious |
| 17 | that you are responsible for last-minute changes. Example:: |
| 18 | |
| 19 | Signed-off-by: Random J Developer <random@developer.example.org> |
| 20 | [lucky@maintainer.example.org: struct foo moved from foo.c to foo.h] |
| 21 | Signed-off-by: Lucky K Maintainer <lucky@maintainer.example.org> |
| 22 | |
| 23 | This practice is particularly helpful if you maintain a stable branch and |
| 24 | want at the same time to credit the author, track changes, merge the fix, |
| 25 | and protect the submitter from complaints. Note that under no circumstances |
| 26 | can you change the author's identity (the From header), as it is the one |
| 27 | which appears in the changelog. |
| 28 | |
| 29 | Special note to back-porters: It seems to be a common and useful practice |
| 30 | to insert an indication of the origin of a patch at the top of the commit |
| 31 | message (just after the subject line) to facilitate tracking. For instance, |
| 32 | here's what we see in a 3.x-stable release:: |
| 33 | |
| 34 | Date: Tue Oct 7 07:26:38 2014 -0400 |
| 35 | |
| 36 | libata: Un-break ATA blacklist |
| 37 | |
| 38 | commit 1c40279960bcd7d52dbdf1d466b20d24b99176c8 upstream. |
| 39 | |
| 40 | And here's what might appear in an older kernel once a patch is backported:: |
| 41 | |
| 42 | Date: Tue May 13 22:12:27 2008 +0200 |
| 43 | |
| 44 | wireless, airo: waitbusy() won't delay |
| 45 | |
| 46 | [backport of 2.6 commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a] |
| 47 | |
| 48 | Whatever the format, this information provides a valuable help to people |
| 49 | tracking your trees, and to people trying to troubleshoot bugs in your |
| 50 | tree. |