| #!/bin/bash |
| set -e |
| |
| echo "Running pre-commit flake8" |
| python tools/flake8_hook.py |
| |
| if [ $(which clang-tidy) ] |
| then |
| echo "Running pre-commit clang-tidy" |
| python tools/clang_tidy.py \ |
| --paths torch/csrc \ |
| --diff HEAD \ |
| -g"-torch/csrc/distributed/Module.cpp" \ |
| -g"-torch/csrc/jit/export.cpp" \ |
| -g"-torch/csrc/jit/import.cpp" \ |
| -j |
| else |
| echo "WARNING: Couldn't find clang-tidy executable." |
| echo " Please install it if you want local clang-tidy checks." |
| fi |
| |
| echo "Running pre-commit clang-format" |
| CLANG_FORMAT_DIFF=$(python tools/clang_format.py) |
| |
| if [[ ${CLANG_FORMAT_DIFF} ]] |
| then |
| echo "${CLANG_FORMAT_DIFF}" |
| # Prompt user to accept clang-format changes |
| # From: https://stackoverflow.com/a/10015707 |
| exec < /dev/tty |
| |
| while true; do |
| read -p "[clang-format hook] Accept changes? (Y/n) " yn |
| if [ "$yn" = "" ]; then |
| yn='Y' |
| fi |
| case $yn in |
| [Yy] ) python tools/clang_format.py --accept-changes; break;; |
| [Nn] ) exit 1;; |
| * ) echo "Please answer y or n.";; |
| esac |
| done |
| fi |