#!/bin/sh

CF=CREDITS-FILE
tip=

tree_search ()
{
	head=$1
	tree=$2
	for p in $(git rev-list --parents --max-count=1 $head 2>/dev/null)
	do
		test $tree = $(git rev-parse $p^{tree} 2>/dev/null) &&
		vn=$(git describe --abbrev=4 $p 2>/dev/null) &&
		case "$vn" in
		gitgui-[0-9]*) echo $p; break;;
		esac
	done
}

generate_credits ()
{
	tip=$1 &&
	rm -f $CF &&
	git shortlog -n -s $tip | sed 's/: .*$//' >$CF || exit
}

# Always use the tarball credits file if found, just
# in case we are somehow contained in a larger git
# repository that doesn't actually track our state.
# (At least one package manager is doing this.)
#
# We may be a subproject, so try looking for the merge
# commit that supplied this directory content if we are
# not at the toplevel.  We probably will always be the
# second parent in the commit, but we shouldn't rely on
# that fact.
#

if test -f credits
then
	rm -f $CF &&
	cp credits $CF || exit
elif prefix="$(git rev-parse --show-prefix 2>/dev/null)" &&
   test -n "$prefix" &&
   head=$(git rev-list --max-count=1 HEAD -- . 2>/dev/null) &&
   tree=$(git rev-parse --verify "HEAD:$prefix" 2>/dev/null) &&
   tip=$(tree_search $head $tree) &&
   test -n "$tip"
then
	generate_credits $tip || exit
elif tip="$(git rev-parse --verify HEAD 2>/dev/null)" &&
   test -n "$tip"
then
	generate_credits $tip || exit
else
	echo "error: Cannot locate authorship information." >&2
	exit 1
fi
