2 # Announcement message skelton
6 tmpbase=/var/tmp/git-announce.$$
7 trap 'rm -f $tmpbase.*' 0
12 relname=$(git describe "$commit") &&
13 vername=$(expr "$relname" : 'v\(.*\)') || exit $?
15 git rev-parse --verify "$previous" >/dev/null || exit $?
19 kind="The latest maintenance release" ;;
20 mainto/* | maint-[0-9]*)
21 kind="A maintenance release" ;;
23 kind="The latest feature release" ;;
31 kind="An early preview release"
34 kind="A release candidate"
37 for_testing=" for testing"
45 vername=$(echo "$vername" | tr "-" ".")
48 git shortlog -s --no-merges \
50 --group=trailer:co-authored-by \
51 --group=trailer:reviewed-by \
52 --group=trailer:mentored-by \
53 --group=trailer:helped-by \
54 --group=trailer:tested-by \
55 --group=trailer:reported-by \
57 sed -e 's/^[ 0-9]*[ ]//' -e 's/$/,/' |
61 people "$previous" >"$tmpbase.prev"
62 people "$previous..$commit" >"$tmpbase.this"
64 comm -12 "$tmpbase.prev" "$tmpbase.this" >"$tmpbase.old"
65 comm -13 "$tmpbase.prev" "$tmpbase.this" >"$tmpbase.new"
67 all=$(wc -l <"$tmpbase.this")
68 new=$(wc -l <"$tmpbase.new")
69 cnt=$(git rev-list --no-merges "$previous..$commit" | wc -l)
72 To: git@vger.kernel.org
73 Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
74 git-packagers@googlegroups.com
76 Subject: [ANNOUNCE] Git $relname
81 echo "$kind Git $relname is now available$for_testing at the usual places."
82 if test "$branch" = $MASTER
85 It is comprised of $cnt non-merge commits since $previous,
86 contributed by $all people, $new of which are new faces [*].
93 The tarballs are found at:
95 https://www.kernel.org/pub/software/scm/git/${for_testing:+testing/}
101 The following public repositories all have a copy of
102 the '$relname' tag and
106 echo "some of them have"
109 echo "the '$branch' branch that the tag points at:"
114 url = https://git.kernel.org/pub/scm/git/git
115 url = https://kernel.googlesource.com/pub/scm/git/git
116 url = git://repo.or.cz/alt-git.git
117 url = https://github.com/gitster/git
121 # Yes, I don't perform well without 2 or more people.
122 # Sue me. The heading says "are as follows" anyway ;-).
132 if test "$branch" = $MASTER
136 New contributors whose contributions weren't in $previous are as follows.
137 Welcome to the Git development community!
139 $(fmt_people "$tmpbase.new")
141 Returning contributors who helped this release are as follows.
142 Thanks for your continued support.
144 $(fmt_people "$tmpbase.old")
146 [*] We are counting not just the authorship contribution but issue
147 reporting, mentoring, helping and reviewing that are recorded in
154 ----------------------------------------------------------------
158 case "$(git ls-tree ${branch} RelNotes)" in
160 RelNotes=$(git cat-file blob "${branch}:RelNotes")
166 git cat-file blob "${branch}:$RelNotes" |
169 sed -e 's/^Git .* Release Notes$/& (draft)/' \
170 -e 's/^=============/&========/'
179 ----------------------------------------------------------------
181 Changes since $previous are as follows:
185 git log --no-merges "$previous".."$branch" |