If included in patch descriptions, this will function much like the --ignore flag. It requires some rather obscure Git features to take advantage of this, so provide some examples of how to do that. Signed-off-by: Brendan Jackman <jackmanb@xxxxxxxxxx> --- Notes (checkpatch-ignore): EMAIL_SUBJECT Documentation/dev-tools/checkpatch.rst | 46 ++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/Documentation/dev-tools/checkpatch.rst b/Documentation/dev-tools/checkpatch.rst index abb3ff6820766ee0c29112b256bcc44ce41fffba..6215b24b25b36709c815cf08de33f1609c80c0c7 100644 --- a/Documentation/dev-tools/checkpatch.rst +++ b/Documentation/dev-tools/checkpatch.rst @@ -12,6 +12,49 @@ Checkpatch is not always right. Your judgement takes precedence over checkpatch messages. If your code looks better with the violations, then its probably best left alone. +Inoring violations +================== + +As well as the --ignore flag documented below, violation types can be ignored +for a specific patch by including a block after the "---" in the following +format:: + + Notes(checkpatch-ignore): + TYPE_1,TYPE_2 + TYPE_3 + +If using Git, you can store that information alongside your commit using +`notes <https://git-scm.com/docs/git-notes>`_. To set this up: + +1. Configure git to include the `checkpatch-ignore` notes ref in formatted + patches:: + + git config set format.notes checkpatch-ignore + + If you use checkpatch in `--git` mode, this isn't necessary, it will include + the `checkpatch-ignore` note regardless. + +2. Configure git to persist notes across amends and rebases:: + + git config set notes.rewriteRef "refs/notes/checkpatch-ignore" + + (To enable this behaviour for _all_ notes, set `refs/notes/**` instead). + + Also ensure that `notes.rewrite.rebase` and `notes.rewrite.amend` have not + been set to `false`. + +3. Now, to set the note on the HEAD commit, use a command like:: + + git notes --ref checkpatch-ignore add -m "TYPE_1,TYPE_2" + + Beware that blank lines terminate the `checkpatch-ignore` block, so if you + use `git notes append` to ignore additional types, you'll need to also set + `--no-separator`:: + + git notes --ref checkpatch-ignore append -m "TYPE_3" --no-separator + +To see the names of the error type in checkpatch output, set the `--show-types` +option. Options ======= @@ -114,6 +157,9 @@ Available options: Checkpatch will not emit messages for the specified types. + Note that violations can also be permanently disabled using the + Checkpatch-ignore patch footer. + Example:: ./scripts/checkpatch.pl mypatch.patch --ignore EMAIL_SUBJECT,BRACES -- 2.48.0.rc2.279.g1de40edade-goog