A new implementation of What's cooking script
[git] / Announce
1 #!/bin/sh
2 # Announcement message skelton
3 #
4 branch=${1?branch}
5 previous=${2?previous}
6 commit=${3-"$1"}
7
8 relname=$(git describe "$commit") &&
9 vername=$(expr "$relname" : 'v\(.*\)') || exit $?
10
11 git rev-parse --verify "$previous" >/dev/null || exit $?
12
13 case "$branch" in
14 maint)
15         kind="The latest maintenance release" ;;
16 mainto/* | maint-[0-9]*)
17         kind="An maintenance release" ;;
18 master)
19         kind="The latest feature release" ;;
20 esac
21
22 case "$vername" in
23 *-rc[0-9]*)
24         rpmroot=testing
25         vername=$(echo "$vername" | tr "-" ".")
26         kind="A release candidate"
27         for_testing=" for testing"
28         ;;
29 *)
30         for_testing=
31         rpmroot='RPMS/$arch'
32         ;;
33 esac
34
35 echo "To: git@vger.kernel.org"
36 Meta/ProjectContact -b
37 echo "Subject: [ANNOUNCE] GIT $vername
38 "
39
40 fmt -70 <<EOF
41 $kind GIT $vername is available at the usual places$for_testing:
42
43   http://www.kernel.org/pub/software/scm/git/
44
45   git-$vername.tar.{gz,bz2}                     (source tarball)
46   git-htmldocs-$vername.tar.{gz,bz2}            (preformatted docs)
47   git-manpages-$vername.tar.{gz,bz2}            (preformatted docs)
48
49 The RPM binary packages for a few architectures are found in:
50
51   $rpmroot/git-*-$vername-1.fc9.\$arch.rpm      (RPM)
52
53 BLURB HERE BLURB HERE BLURB HERE
54
55 ----------------------------------------------------------------
56
57 Changes since $previous are as follows:
58
59 EOF
60
61 git log --no-merges "$previous".."$branch" |
62 git shortlog
63