Igor Opaniuk | 1c93c2b | 2016-11-03 13:27:28 +0200 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
Andrew F. Davis | 5392ae3 | 2016-11-15 11:59:35 -0600 | [diff] [blame] | 3 | CHECKPATCH="${CHECKPATCH:-checkpatch.pl}" |
Igor Opaniuk | 1c93c2b | 2016-11-03 13:27:28 +0200 | [diff] [blame] | 4 | # checkpatch.pl will ignore the following paths |
Jerome Forissier | b3be2f6 | 2017-08-02 11:34:17 +0200 | [diff] [blame] | 5 | CHECKPATCH_IGNORE=$(echo core/lib/lib{fdt,tomcrypt} core/lib/zlib \ |
| 6 | lib/lib{png,utils,zlib} \ |
Andrew F. Davis | 38f2377 | 2017-02-21 07:04:19 -0600 | [diff] [blame] | 7 | core/arch/arm/plat-ti/api_monitor_index_a{9,15}.h) |
Igor Opaniuk | 1c93c2b | 2016-11-03 13:27:28 +0200 | [diff] [blame] | 8 | _CP_EXCL=$(for p in $CHECKPATCH_IGNORE; do echo ":(exclude)$p" ; done) |
| 9 | |
| 10 | function _checkpatch() { |
Etienne Carriere | c1d47bc | 2017-05-15 11:41:23 +0200 | [diff] [blame] | 11 | # Use --typedefsfile if supported by the checkpatch tool |
| 12 | typedefs_opt="--typedefsfile typedefs.checkpatch" |
| 13 | $CHECKPATCH --help 2>&1 | grep -q -- --typedefsfile || \ |
| 14 | typedefs_opt=""; |
| 15 | |
Igor Opaniuk | 1c93c2b | 2016-11-03 13:27:28 +0200 | [diff] [blame] | 16 | $CHECKPATCH --quiet --ignore FILE_PATH_CHANGES \ |
Etienne Carriere | c1d47bc | 2017-05-15 11:41:23 +0200 | [diff] [blame] | 17 | --ignore GERRIT_CHANGE_ID --no-tree \ |
| 18 | $typedefs_opt \ |
| 19 | - |
Igor Opaniuk | 1c93c2b | 2016-11-03 13:27:28 +0200 | [diff] [blame] | 20 | } |
| 21 | |
| 22 | function checkpatch() { |
| 23 | git show --oneline --no-patch $1 |
| 24 | git format-patch -1 $1 --stdout -- $_CP_EXCL . | _checkpatch |
| 25 | } |
| 26 | |
| 27 | function checkstaging() { |
| 28 | git diff --cached -- . $_CP_EXCL | _checkpatch |
| 29 | } |
| 30 | |
| 31 | function checkworking() { |
| 32 | git diff -- . $_CP_EXCL | _checkpatch |
| 33 | } |
| 34 | |
| 35 | function checkdiff() { |
| 36 | git diff $1...$2 -- . $_CP_EXCL | _checkpatch |
| 37 | } |
| 38 | |