k7dxs-dns/.pre-commit

15 lines
450 B
Bash
Executable File

#!/bin/bash
set -e
function checkFile() {
[[ "$1" =~ \.zone$ ]] || return 0
[[ -f "$1" ]] || return 0 # allow deleting zone
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