File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed
Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ #
3+ # Collects the pull-requests since the latest release and
4+ # aranges them in the CHANGES.txt file.
5+ #
6+ # This is a script to be run before releasing a new version.
7+ #
8+ # Usage /bin/bash update_changes.sh 1.0.1
9+ #
10+
11+ # Setting # $ help set
12+ set -e # Exit immediately if a command exits with a non-zero status.
13+ set -u # Treat unset variables as an error when substituting.
14+ set -x # Print command traces before executing command.
15+
16+ # Check whether the Upcoming release header is present
17+ head -1 CHANGES | grep -q Upcoming
18+ UPCOMING=$?
19+ if [[ " $UPCOMING " == " 0" ]]; then
20+ head -n3 CHANGES >> newchanges
21+ fi
22+
23+ # Elaborate today's release header
24+ HEADER=" $1 ($( date ' +%B %d, %Y' ) )"
25+ echo $HEADER >> newchanges
26+ echo $( printf " %${# HEADER} s" | tr " " " =" ) >> newchanges
27+ echo " " >> newchanges
28+
29+ # Search for PRs since previous release
30+ git log --grep=" Merge pull request" ` git describe --tags --abbrev=0` ..HEAD --pretty=' format: * %b %s' | sed ' s/Merge pull request \#\([^\d]*\)\ from\ .*/(\#\1)/' >> newchanges
31+ echo " " >> newchanges
32+ echo " " >> newchanges
33+
34+ # Add back the Upcoming header if it was present
35+ if [[ " $UPCOMING " == " 0" ]]; then
36+ tail -n+4 CHANGES >> newchanges
37+ else
38+ cat CHANGES >> newchanges
39+ fi
40+
41+ # Replace old CHANGES with new file
42+ mv newchanges CHANGES
43+
You can’t perform that action at this time.
0 commit comments