Skip to content

Commit a1ce5b0

Browse files
committed
MNT: Update update_changes.sh
1 parent dd08432 commit a1ce5b0

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

update_changes.sh

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,28 @@ if [[ "$UPCOMING" == "0" ]]; then
1919
head -n3 CHANGES.rst >> newchanges
2020
fi
2121

22+
# Elaborate today's release header
23+
HEADER="$1 ($(date '+%B %d, %Y'))"
24+
echo $HEADER >> newchanges
25+
echo $( printf "%${#HEADER}s" | tr " " "=" ) >> newchanges
26+
echo "" >> newchanges
27+
2228
# Search for PRs since previous release
23-
git show --pretty='format: * %b %s' HEAD | sed 's/Merge pull request \#\([^\d]*\)\ from\ .*/(\#\1)/' >> newchanges
29+
MERGE_COMMITS=$( git log --grep="Merge pull request\|(#.*)$" `git describe --tags --abbrev=0`..HEAD --pretty='format:%h' )
30+
for COMMIT in ${MERGE_COMMITS//\n}; do
31+
SUB=$( git log -n 1 --pretty="format:%s" $COMMIT )
32+
if ( echo $SUB | grep "^Merge pull request" ); then
33+
# Merge commit
34+
PR=$( echo $SUB | sed -e "s/Merge pull request \#\([0-9]*\).*/\1/" )
35+
TITLE=$( git log -n 1 --pretty="format:%b" $COMMIT )
36+
else
37+
# Squashed merge
38+
PR=$( echo $SUB | sed -e "s/.*(\#\([0-9]*\))$/\1/" )
39+
TITLE=$( echo $SUB | sed -e "s/\(.*\) (\#[0-9]*)$/\1/" )
40+
fi
41+
echo "* $TITLE (#$PR)" >> newchanges
42+
done
43+
echo >> newchanges
2444

2545
# Add back the Upcoming header if it was present
2646
if [[ "$UPCOMING" == "0" ]]; then
@@ -31,4 +51,3 @@ fi
3151

3252
# Replace old CHANGES.rst with new file
3353
mv newchanges CHANGES.rst
34-

0 commit comments

Comments
 (0)