qemu/scripts
Daniel P. Berrange 8e1fe1753a scripts: let checkpatch.pl process an entire GIT branch
Currently before submitting a series, devs should run checkpatch.pl
across each patch to be submitted. This can be automated using a
command such as:

  git rebase -i master -x 'git show | ./scripts/checkpatch.pl -'

This is rather long winded to type, so this patch introduces a way
to tell checkpatch.pl to validate a series of GIT revisions.

There are now three modes it can operate in 1) check a patch 2) check a source
file, or 3) check a git branch.

If no flags are given, the mode is determined by checking the args passed to
the command. If the args contain a literal ".." it is treated as a GIT revision
list. If the args end in ".patch" or equal "-" it is treated as a patch file.
Otherwise it is treated as a source file.

This automatic guessing can be overridden using --[no-]patch --[no-]file or
--[no-]branch

For example to check a GIT revision list:

    $ ./scripts/checkpatch.pl master..
    total: 0 errors, 0 warnings, 297 lines checked

    b886d352a2bf58f0996471fb3991a138373a2957 has no obvious style problems and is ready for submission.
    total: 0 errors, 0 warnings, 182 lines checked

    2a731f9a9ce145e0e0df6d42dd2a3ce4dfc543fa has no obvious style problems and is ready for submission.
    total: 0 errors, 0 warnings, 102 lines checked

    11844169bcc0c8ed4449eb3744a69877ed329dd7 has no obvious style problems and is ready for submission.

If a genuine patch filename contains the characters '..' it is
possible to force interpretation of the arg as a patch

  $ ./scripts/checkpatch.pl --patch master..

will force it to load a patch file called "master..", or equivalently

  $ ./scripts/checkpatch.pl --no-branch master..

will simply turn off guessing of GIT revision lists.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-Id: <20170913091000.9005-1-berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2017-09-19 16:20:49 +02:00
..
coccinelle qdict: Add qdict_put_null() helper, and put it to use 2017-09-04 13:09:11 +02:00
kvm vmxcap: update for September 2016 SDM 2017-03-03 16:40:02 +01:00
modules scripts: Allow block module to not define BlockDriver 2016-10-07 14:14:06 +02:00
qemu-guest-agent qemu-ga: sample fsfreeze hooks 2013-01-08 16:38:12 -06:00
qemugdb scripts/qemugdb/mtree.py: fix up mtree dump 2017-04-07 15:24:56 +01:00
qmp qmp.py: Avoid overriding a builtin object 2017-09-15 20:12:00 -03:00
tracetool trace: use static event ID mapping in simpletrace.stp 2017-08-15 12:50:29 +01:00
analyse-9p-simpletrace.py
analyze-inclusions Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
analyze-migration.py migration: fix analyze-migration.py script 2015-11-04 13:40:13 +01:00
argparse.py scripts: add argparse module for Python 2.6 compatibility 2017-08-30 12:02:11 +01:00
check-qerror.sh
checkpatch.pl scripts: let checkpatch.pl process an entire GIT branch 2017-09-19 16:20:49 +02:00
clean-header-guards.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
clean-includes scripts/clean-includes: added duplicate #include check 2016-10-28 18:17:23 +03:00
cleanup-trace-events.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
cocci-macro-file.h coccinelle: add g_assert_cmp* to macro file 2016-05-23 16:53:46 +02:00
coverity-model.c coverity-model: model address_space_read/write 2017-03-15 13:59:16 +01:00
create_config build-sys: define QEMU_VERSION_{MAJOR, MINOR, MICRO} 2016-09-19 17:32:21 +02:00
device-crash-test hw/ppc/spapr_cpu_core: Add a proper check for spapr machine 2017-09-08 09:30:55 +10:00
disas-objdump.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
dump-guest-memory.py scripts/dump-guest-memory.py: fix int128_get64 on recent gcc 2017-03-14 13:26:36 +01:00
extract-vsssdk-headers Add a script to extract VSS SDK headers on POSIX system 2013-09-09 14:17:56 -05:00
feature_to_c.sh scripts: Use $(..) instead of deprecated .. 2016-06-07 18:19:23 +03:00
get_maintainer.pl trivial patches for 2017-05-10 2017-05-10 12:31:19 -04:00
git.orderfile add scripts/git.orderfile 2017-07-20 09:56:41 +02:00
gtester-cat
hxtool hxtool: remove dead -q option 2017-07-11 17:42:49 +03:00
make_device_config.sh scripts: Use $(..) instead of deprecated .. 2016-06-07 18:19:23 +03:00
make-release make-release: Record SeaBIOS version 2014-03-31 15:02:04 +01:00
ordereddict.py qapi: Clean up qapi.py per pep8 2015-10-12 18:44:54 +02:00
qapi2texi.py docs: fix broken paths to docs/devel/qapi-code-gen.txt 2017-07-31 13:12:41 +03:00
qapi-commands.py scripts: use build_ prefix for string not piped through cgen() 2017-07-12 17:51:54 +02:00
qapi-event.py qapi: Generate FOO_str() macro for QAPI enum FOO 2017-09-04 13:09:13 +02:00
qapi-introspect.py qapi: Prefer single-quoted strings more consistently 2017-03-16 07:13:02 +01:00
qapi-types.py qapi: Generate FOO_str() macro for QAPI enum FOO 2017-09-04 13:09:13 +02:00
qapi-visit.py qapi: Change data type of the FOO_lookup generated for enum FOO 2017-09-04 13:09:13 +02:00
qapi.py qapi: drop the sentinel in enum array 2017-09-04 13:09:13 +02:00
qemu-binfmt-conf.sh scripts/qemu-binfmt-conf.sh: Fix shell portability issue 2017-05-10 10:19:23 +03:00
qemu-gdb.py gdb command: qemu handlers 2015-10-29 17:59:27 +00:00
qemu.py qemu.py: Fix syntax error 2017-09-18 11:32:22 +01:00
qtest.py qtest.py: Few pylint/style fixes 2017-09-15 20:12:00 -03:00
refresh-pxe-roms.sh roms: rewrite scripts/refresh-pxe-roms.sh 2013-09-30 09:44:35 +02:00
shaderinclude.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
show-fixed-bugs.sh scripts: Add a script to check for bug URLs in the git log 2016-09-22 20:20:53 +02:00
signrom.py linuxboot_dma: avoid guest ABI breakage on gcc vs. clang compilation 2016-08-09 22:57:36 +02:00
simpletrace.py simpletrace: fix flight recorder --no-header option 2017-08-15 12:50:29 +01:00
switch-timer-api scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
texi2pod.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
tracetool.py trace: switch to modular code generation for sub-directories 2017-01-31 17:11:18 +00:00
update-linux-headers.sh update-linux-headers: prepare for hyperv.h removal 2017-09-19 16:20:49 +02:00
vmstate-static-checker.py vmstate-static-checker: update white list with spapr_pci 2017-02-28 11:30:22 +00:00