From 6424ba0665211b1dbd9ea969804828e65e5d06ad Mon Sep 17 00:00:00 2001
From: Ludwig Ortmann <ludwig.ortmann@fu-berlin.de>
Date: Sat, 18 Oct 2014 17:14:27 +0200
Subject: [PATCH] cppcheck: handle --diff-filter option

Add the possibility to the cppcheck script to pass git's
`--diff-filter` option.
Also improve comments a bit.
---
 dist/tools/cppcheck/check.sh | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/dist/tools/cppcheck/check.sh b/dist/tools/cppcheck/check.sh
index c88a6e04b7..2cb965107b 100755
--- a/dist/tools/cppcheck/check.sh
+++ b/dist/tools/cppcheck/check.sh
@@ -3,18 +3,28 @@
 BRANCH=${1}
 FILEREGEX='\.([sScHh]|cpp)$'
 
-# if branch is an option, unset branch, consume parameter otherwise
+# If no branch but an option is given, unset BRANCH.
+# Otherwise, consume this parameter.
 if echo "${BRANCH}" | grep -q '^-'; then
     BRANCH=""
 else
     shift 1
 fi
 
+# If the --diff-filter option is given, consume this parameter.
+# Set the default DIFFFILTER option otherwise.
+DIFFFILTER="${1}"
+if echo "${DIFFFILTER}" | grep -q '^--diff-filter='; then
+    shift 1
+else
+    DIFFFILTER="--diff-filter=ACMR"
+fi
+
 # select either all or only touched-in-branch files, filter through FILEREGEX
 if [ -z "${BRANCH}" ]; then
     FILES="$(git ls-tree -r --full-tree --name-only HEAD | grep -E ${FILEREGEX})"
 else
-    FILES="$(git diff --diff-filter=ACMR --name-only ${BRANCH} | grep -E ${FILEREGEX})"
+    FILES="$(git diff ${DIFFFILTER} --name-only ${BRANCH} | grep -E ${FILEREGEX})"
 fi
 
 if [ -z "${FILES}" ]; then
-- 
GitLab