aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/distrib/sanitize.sh
diff options
context:
space:
mode:
authorGravatar murgatroid99 <mlumish@google.com>2016-02-09 10:56:25 -0800
committerGravatar murgatroid99 <mlumish@google.com>2016-02-09 10:56:25 -0800
commitf656f189e453c87370caa1cdffa6eed6e71b0f04 (patch)
treed00ef199557acca74512f67619a70b03b29db853 /tools/distrib/sanitize.sh
parenta72a49044beed3e7bb0b7943fdd47afe5d2e9cd3 (diff)
Make sanitize script a suitable pre-commit hook
Diffstat (limited to 'tools/distrib/sanitize.sh')
-rwxr-xr-xtools/distrib/sanitize.sh24
1 files changed, 20 insertions, 4 deletions
diff --git a/tools/distrib/sanitize.sh b/tools/distrib/sanitize.sh
index 56644b1d65..3b7ca6fd88 100755
--- a/tools/distrib/sanitize.sh
+++ b/tools/distrib/sanitize.sh
@@ -32,7 +32,23 @@ set -ex
cd $(dirname $0)/../..
-./tools/buildgen/generate_projects.sh
-./tools/distrib/clang_format_code.sh
-./tools/distrib/check_copyright.py --fix
-./tools/distrib/check_trailing_newlines.sh
+DIFF_COMMAND="git diff --name-only HEAD | grep -v ^third_party/"
+
+if [ "x$1" == 'x--pre-commit' ]; then
+ if eval $DIFF_COMMAND | grep '^build.yaml$'; then
+ ./tools/buildgen/generate_projects.sh
+ else
+ templates=$(eval $DIFF_COMMAND | grep '\.template$' || true)
+ if [ -n "$templates" ]; then
+ ./tools/buildgen/generate_projects.sh --templates $templates
+ fi
+ fi
+ CHANGED_FILES=$(eval $DIFF_COMMAND) ./tools/distrib/clang_format_code.sh
+ ./tools/distrib/check_copyright.py --fix --precommit
+ ./tools/distrib/check_trailing_newlines.sh
+else
+ ./tools/buildgen/generate_projects.sh
+ ./tools/distrib/clang_format_code.sh
+ ./tools/distrib/check_copyright.py --fix
+ ./tools/distrib/check_trailing_newlines.sh
+fi