diff --git a/.pre-commit b/.pre-commit new file mode 100755 index 0000000..4448673 --- /dev/null +++ b/.pre-commit @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +function checkFile() { + [[ "$1" =~ \.zone$ ]] || return 0 + old="$(git show HEAD:"$1"|grep -Po '\d+(?=\s+; serial)')" + new="$(git show :"$1"|grep -Po '\d+(?=\s+; serial)')" + [[ "$old" -lt "$new" ]] && return 0 || { echo "serial bump check failed for $1"; return 1; } +} + +ret=0 +while read file; do checkFile "$file" || ret=1; done <<< "$(git diff --name-only --cached)" +exit $ret