aboutsummaryrefslogtreecommitdiffstats
path: root/build-root/scripts/checkstyle.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build-root/scripts/checkstyle.sh')
-rwxr-xr-xbuild-root/scripts/checkstyle.sh21
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