aboutsummaryrefslogtreecommitdiffstats
path: root/pr2relnotes.sh
diff options
context:
space:
mode:
authorLuis Rascao <[email protected]>2016-11-15 19:52:10 +0000
committerLuis Rascao <[email protected]>2016-11-15 19:52:10 +0000
commitc55afa51ac129aae6a852f223387072290af436f (patch)
treeb25c915f129ea896aae2a57a8804bb9c49fd6082 /pr2relnotes.sh
parentc305c89713abf48570e2db152b367f00ac641893 (diff)
downloadrelx-c55afa51ac129aae6a852f223387072290af436f.tar.gz
relx-c55afa51ac129aae6a852f223387072290af436f.tar.bz2
relx-c55afa51ac129aae6a852f223387072290af436f.zip
Add script to help in generating release changelog
Diffstat (limited to 'pr2relnotes.sh')
-rwxr-xr-xpr2relnotes.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/pr2relnotes.sh b/pr2relnotes.sh
new file mode 100755
index 0000000..2e78478
--- /dev/null
+++ b/pr2relnotes.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env sh
+
+if [ -z $1 ]
+then
+ echo "pr2relnotes.sh: prints list of pull requests merged since <tag>"
+ echo " usage: $0 <tag> [pull-request-url (default: https://github.com/erlware/relx/pull/)]"
+ exit 0
+fi
+export url=${2:-"https://github.com/erlware/relx/pull/"}
+
+git log --merges --pretty=medium $1..HEAD | \
+awk -v url=$url '
+ # first line of a merge commit entry
+ /^commit / {mode="new"}
+
+ # merge commit default message
+ / +Merge pull request/ {
+ page_id=substr($4, 2, length($4)-1);
+ mode="started";
+ next;
+ }
+
+ # line of content including title
+ mode=="started" && / [^ ]+/ {
+ print "- [" substr($0, 5) "](" url page_id ")"; mode="done"
+ }'