Back to home page

OSCL-LXR

 
 

    


0001 .. _modifyingpatches:
0002 
0003 Modifying Patches
0004 =================
0005 
0006 If you are a subsystem or branch maintainer, sometimes you need to slightly
0007 modify patches you receive in order to merge them, because the code is not
0008 exactly the same in your tree and the submitters'. If you stick strictly to
0009 rule (c) of the developers certificate of origin, you should ask the submitter
0010 to rediff, but this is a totally counter-productive waste of time and energy.
0011 Rule (b) allows you to adjust the code, but then it is very impolite to change
0012 one submitters code and make him endorse your bugs. To solve this problem, it
0013 is recommended that you add a line between the last Signed-off-by header and
0014 yours, indicating the nature of your changes. While there is nothing mandatory
0015 about this, it seems like prepending the description with your mail and/or
0016 name, all enclosed in square brackets, is noticeable enough to make it obvious
0017 that you are responsible for last-minute changes. Example::
0018 
0019        Signed-off-by: Random J Developer <random@developer.example.org>
0020        [lucky@maintainer.example.org: struct foo moved from foo.c to foo.h]
0021        Signed-off-by: Lucky K Maintainer <lucky@maintainer.example.org>
0022 
0023 This practice is particularly helpful if you maintain a stable branch and
0024 want at the same time to credit the author, track changes, merge the fix,
0025 and protect the submitter from complaints. Note that under no circumstances
0026 can you change the author's identity (the From header), as it is the one
0027 which appears in the changelog.
0028 
0029 Special note to back-porters: It seems to be a common and useful practice
0030 to insert an indication of the origin of a patch at the top of the commit
0031 message (just after the subject line) to facilitate tracking. For instance,
0032 here's what we see in a 3.x-stable release::
0033 
0034   Date:   Tue Oct 7 07:26:38 2014 -0400
0035 
0036     libata: Un-break ATA blacklist
0037 
0038     commit 1c40279960bcd7d52dbdf1d466b20d24b99176c8 upstream.
0039 
0040 And here's what might appear in an older kernel once a patch is backported::
0041 
0042     Date:   Tue May 13 22:12:27 2008 +0200
0043 
0044         wireless, airo: waitbusy() won't delay
0045 
0046         [backport of 2.6 commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a]
0047 
0048 Whatever the format, this information provides a valuable help to people
0049 tracking your trees, and to people trying to troubleshoot bugs in your
0050 tree.