#!/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