diff options
author | Josh Suereth <joshua.suereth@gmail.com> | 2012-03-16 15:40:48 -0400 |
---|---|---|
committer | Josh Suereth <joshua.suereth@gmail.com> | 2012-03-19 10:32:28 -0400 |
commit | 78c15103d54e58b0ecd193b90e2d56b967967d6c (patch) | |
tree | 1d3527dd858cf7353675fcd48ff0e246df2c6b64 /tools | |
parent | 908636b5961fd14d91ac937d3306ea09f260cfa4 (diff) | |
download | scala-78c15103d54e58b0ecd193b90e2d56b967967d6c.tar.gz scala-78c15103d54e58b0ecd193b90e2d56b967967d6c.tar.bz2 scala-78c15103d54e58b0ecd193b90e2d56b967967d6c.zip |
First cut at a release notes tool to help generate them.
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/make-release-notes | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tools/make-release-notes b/tools/make-release-notes new file mode 100755 index 0000000000..dcd206f7fc --- /dev/null +++ b/tools/make-release-notes @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +# This tool is used to build a *scaffold* of a release note that you can fill in details with before posting to the list. +# It aims to provide *all* the information you need, and probably need to prune it before releasing. +# Author: jsuereth + +fixMessages() { + local tag1="$1" + local tag2="$2" + git log $tag1..$tag2 "--format=format: * %h - %s" --no-merges --grep "SI-" +} + +allcommitMessages() { + local tag1="$1" + local tag2="$2" + git log $tag1..$tag2 "--format=format: * %h - %s" --no-merges +} + +authors() { + local tag1="$1" + local tag2="$2" + git log $tag1..$tag2 --format=format:%an --no-merges | sort | uniq -c | sort -rh +} + + +message() { + local tag1="$1" + local tag2="$2" + + echo "A new release of Scala is available! Please point your build tools at ${tag2#v}" + echo + echo "Here's a list of the issues that have been fixed since ${tag1#v}: " + fixMessages "$tag1" "$tag2" + echo + echo + echo "Special thanks to all the contributions!" + echo "------- --------------------------------" + authors "$tag1" "$tag2" + echo "------- --------------------------------" + echo + echo + echo "Here's a complete list of changes:" + allcommitMessages "$tag1" "$tag2" +} + + +message "$1" "$2" + + |