#!/bin/sh # Announcement message skelton # tmpbase=/var/tmp/git-announce.$$ trap 'rm -f $tmpbase.*' 0 branch=${1?branch} previous=${2?previous} commit=${3-"$1"} relname=$(git describe "$commit") && vername=$(expr "$relname" : 'v\(.*\)') || exit $? git rev-parse --verify "$previous" >/dev/null || exit $? case "$branch" in maint) kind="The latest maintenance release" ;; mainto/* | maint-[0-9]*) kind="A maintenance release" ;; master) kind="The latest feature release" ;; esac case "$vername" in *-rc[0-9]*) rpmroot=testing case "$vername" in *-rc0) kind="An early preview release" ;; *) kind="A release candidate" ;; esac for_testing=" for testing" ;; *) for_testing= rpmroot='RPMS/$arch' ;; esac vername=$(echo "$vername" | tr "-" ".") git log --use-mailmap --format='%aN,' "$previous" | sort -u >"$tmpbase.prev" git log --use-mailmap --format='%aN,' "$previous..$commit" | sort -u >"$tmpbase.this" comm -12 "$tmpbase.prev" "$tmpbase.this" >"$tmpbase.old" comm -13 "$tmpbase.prev" "$tmpbase.this" >"$tmpbase.new" all=$(wc -l <"$tmpbase.this") new=$(wc -l <"$tmpbase.new") cnt=$(git rev-list --no-merges "$previous..$commit" | wc -l) cat <, git-packagers@googlegroups.com Bcc: lwn@lwn.net Subject: [ANNOUNCE] Git $relname EOF ( echo "$kind Git $relname is now available$for_testing at the usual places." if test "$branch" = master then cat <<-EOF It is comprised of $cnt non-merge commits since $previous, contributed by $all people, $new of which are new faces. EOF fi ) | fmt -68 cat <