14 lines
		
	
	
	
		
			450 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			14 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
 |