diff options
Diffstat (limited to 'build-root/scripts/checkstyle.sh')
-rwxr-xr-x | build-root/scripts/checkstyle.sh | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/build-root/scripts/checkstyle.sh b/build-root/scripts/checkstyle.sh index df72cdb2d8a..60129676a2e 100755 --- a/build-root/scripts/checkstyle.sh +++ b/build-root/scripts/checkstyle.sh @@ -3,14 +3,29 @@ VPP_DIR=`dirname $0`/../../ EXIT_CODE=0 FIX="0" +FULL="0" CHECKSTYLED_FILES="" UNCHECKSTYLED_FILES="" # If the user provides --fix, then actually fix things # Note: this is meant for use outside of the CI Jobs, by users cleaning things up -if [ $# -gt 0 ] && [ ${1} == '--fix' ]; then - FIX="1" +while true; do + case ${1} in + --fix) + FIX="1" + ;; + --full) + FULL="1" + ;; + esac + shift || break +done + +if [ "${FULL}" == "1" ]; then + FILELIST=$(git ls-tree -r HEAD --name-only) +else + FILELIST=$((git diff HEAD~1.. --name-only; git ls-files -m ) | sort -u) fi # Check to make sure we have indent. Exit if we don't with an error message, but @@ -24,7 +39,7 @@ indent --version cd ${VPP_DIR} git status -for i in `git ls-tree -r HEAD --name-only`;do +for i in ${FILELIST}; do if [ -f ${i} ] && [ ${i} != "build-root/scripts/checkstyle.sh" ] && [ ${i} != "build-root/emacs-lisp/fix-coding-style.el" ]; then grep -q "fd.io coding-style-patch-verification: ON" ${i} if [ $? == 0 ]; then |