#!/bin/sh

. git-sh-setup

# Avoid duplicated test numbers --- checking 'seen' is enough
# as we will usually add, but never remove them.
added=$(
	git diff-index --cached --name-only --diff-filter=A HEAD -- t |
	sed -ne 's|t/\(t[0-9][0-9][0-9][0-9]\)-.*\.sh$|\1|p'
)
if test -n "$added"
then
	bad=
	exists=$(
		git ls-tree --name-only seen:t |
		sed -ne 's|^\(t[0-9][0-9][0-9][0-9]\)-.*\.sh$|\1|p' |
		tr "\012" " "
	)
	for a in $added
	do
		case " $exists " in
		*" $a "*)
			echo >&2 "Test number $a already taken"
			bad=1
			;;
		esac
	done
	if test -n "$bad"
	then
		: exit 1
	fi
fi
