aboutsummaryrefslogtreecommitdiff
path: root/scripts/checkpatch.pl
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2016-07-15 10:46:54 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2016-07-18 15:10:52 +0100
commitf8dccbb63463d72dcf273b583d41810a01feab26 (patch)
treee81decfd1df0186f12a70f83dd590b7919e06d3c /scripts/checkpatch.pl
parent7e00346505feb94ee740d311621eb0bf4c14d6db (diff)
downloadqemu-f8dccbb63463d72dcf273b583d41810a01feab26.zip
qemu-f8dccbb63463d72dcf273b583d41810a01feab26.tar.gz
qemu-f8dccbb63463d72dcf273b583d41810a01feab26.tar.bz2
checkpatch: consider git extended headers valid patches
Renames look like this with git-diff(1) when diff.renames = true is set: diff --git a/a b/b similarity index 100% rename from a rename to b This raises the "Does not appear to be a unified-diff format patch" error because checkpatch.pl only considers a diff valid if it contains at least one "@@" hunk. This patch accepts renames and copies too so that checkpatch.pl exits successfully when a diff only renames/copies files. The git diff extended header format is described on the git-diff(1) man page. Reported-by: Colin Lord <clord@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-id: 1468576014-28788-1-git-send-email-stefanha@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'scripts/checkpatch.pl')
-rwxr-xr-xscripts/checkpatch.pl5
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index cf32c8f..afa7f79 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1279,6 +1279,11 @@ sub process {
}
}
+# Accept git diff extended headers as valid patches
+ if ($line =~ /^(?:rename|copy) (?:from|to) [\w\/\.\-]+\s*$/) {
+ $is_patch = 1;
+ }
+
#check the patch for a signoff:
if ($line =~ /^\s*signed-off-by:/i) {
# This is a signoff, if ugly, so do not double report.