#!/bin/sh
# Prepare "What's in git.git"

maint_at=$(git rev-parse --verify refs/heads/maint)
master_at=$(git rev-parse --verify refs/heads/master)
maint_was=$(git rev-parse --verify refs/hold/sa/maint)
master_was=$(git rev-parse --verify refs/hold/sa/master)

log () {
	git shortlog -w76,2,4 --no-merges "$@"
}

one () {
	git show -s --pretty="format:%h (%s)" "$1"
}

eval $(LC_ALL=C date +"monthname=%b month=%m year=%Y date=%d dow=%a")

lead="whats/in/$year/$month"
issue=$(
	cd Meta &&
	git ls-tree -r --name-only HEAD "$lead"  | tail -n 1
)
if test -n "$issue"
then
	issue=$( expr "$issue" : '.*/0*\([1-9][0-9]*\)\.txt$' )
	issue=$(( $issue + 1 ))
else
	issue=1
fi
issue=$( printf "%02d" $issue )

mkdir -p "Meta/$lead"
exec >"Meta/$lead/$issue.txt"

cat <<EOF
To: git@vger.kernel.org
Subject: What's in git.git ($monthname $year, #$issue; $dow, $date)
X-maint-at: $maint_at
X-master-at: $master_at
X-maint-was: $maint_was
X-master-was: $master_was

What's in git.git ($monthname $year, #$issue; $dow, $date)

  maint $(one maint)
 master $(one master)
------------------------------------------------------------------------

BLURB HERE
EOF

tagged=`git rev-parse --not --verify hold/sa/maint`
list=`git rev-list $tagged refs/heads/maint 2>/dev/null`
a=
if test -n "$list"
then
	echo
	echo "* The 'maint' branch has these fixes since the last announcement."
	echo
	log $tagged heads/maint
	a='
  in addition to the above.'
else
	a=.
fi

tagged=`git rev-parse --not --verify hold/sa/master`
list=`git rev-list $tagged refs/heads/master 2>/dev/null`
if test -n "$list"
then
	echo
	echo "* The 'master' branch has these since the last announcement$a"
	echo
	log $tagged heads/master ^heads/maint
fi
