From 1574c2bb766bd2dff321e3f69a7cb33e3a4a973a Mon Sep 17 00:00:00 2001 From: Ludwig Ortmann <ludwig.ortmann@fu-berlin.de> Date: Sat, 22 Nov 2014 16:35:16 +0100 Subject: [PATCH] dist/licenses: add and use diff-filter --- .travis.yml | 3 ++- dist/tools/licenses/check.sh | 23 +++++++++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index c921a3d14c..bfa90a79c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,7 +43,8 @@ script: - make -s -C ./examples/default info-concurrency - git rebase riot/master || git rebase --abort - - ./dist/tools/licenses/check.sh master || exit + - ./dist/tools/licenses/check.sh master --diff-filter=MR + - ./dist/tools/licenses/check.sh master --diff-filter=AC || exit # TODO: # Remove the `AC` argument when all headers have been diff --git a/dist/tools/licenses/check.sh b/dist/tools/licenses/check.sh index 5830064d92..847c3acb9d 100755 --- a/dist/tools/licenses/check.sh +++ b/dist/tools/licenses/check.sh @@ -11,7 +11,6 @@ TMP="${CHECKROOT}/.tmp" ROOT=$(git rev-parse --show-toplevel) LICENSES=$(ls "${LICENSEDIR}") EXIT_CODE=0 -BRANCH="${1}" # reset output dir rm -fr "${OUTPUT}" @@ -20,11 +19,31 @@ for LICENSE in ${LICENSES}; do echo -n '' > "${OUTPUT}/${LICENSE}" done +# If no branch but an option is given, unset BRANCH. +# Otherwise, consume this parameter. +BRANCH="${1}" +if echo "${BRANCH}" | grep -q '^-'; then + BRANCH="" +else + if [ -n "${BRANCH}" ]; then + shift 1 + fi +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 files to check if [ -z "${BRANCH}" ]; then FILES="$(git ls-tree -r --full-tree --name-only HEAD | grep -E '\.([sSch]|cpp)$')" else - FILES="$(git diff --diff-filter=ACMR --name-only ${BRANCH} | grep -E '\.([sSchp]|cpp)$')" + FILES="$(git diff ${DIFFFILTER} --name-only ${BRANCH} | grep -E '\.([sSchp]|cpp)$')" fi # categorize files -- GitLab