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