Skip to content

Commit 80349ef

Browse files
committed
DOC: Update changelog script to handle squashed merges
1 parent eeadb15 commit 80349ef

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

tools/update_changes.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,20 @@ echo $( printf "%${#HEADER}s" | tr " " "=" ) >> newchanges
2626
echo "" >> newchanges
2727

2828
# Search for PRs since previous release
29-
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
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
3043
echo "" >> newchanges
3144
echo "" >> newchanges
3245

0 commit comments

Comments
 (0)