diff --git a/hooks/pre-commit b/hooks/pre-commit index 3960d13..335bb2f 100755 --- a/hooks/pre-commit +++ b/hooks/pre-commit @@ -92,9 +92,9 @@ FMTRESULT=0 for file in $(git diff --name-only --cached); do if [ ${file: -3} == ".rs" ]; then - HASH=$(shasum $file) - NEW_HASH=$(rustfmt --write-mode=display $file | shasum) - if [ "${HASH}" != "${NEW_HASH}" ]; then + diff=$(rustfmt --skip-children --write-mode=diff $file) + result=$(echo $diff | grep --quiet "^Diff at line") + if $result; then FMTRESULT=1 fi fi @@ -105,6 +105,7 @@ if [ "${TARPC_SKIP_RUSTFMT}" == 1 ]; then elif [ ${FMTRESULT} != 0 ]; then FAILED=1 printf "${FAILURE}\n" + echo "$diff" | sed '/Using rustfmt.*$/d' else printf "${SUCCESS}\n" fi