From 42dbb1b375401474436b62c3cec2751d1579774d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Sat, 12 Dec 2020 14:22:26 +0100 Subject: [PATCH] fix(changelog): allow breaking change message to span multiple lines This also allows the option to put extra paragraphs after the BREAKING CHANGE message while properly displaying the breaking change message. Useful, for example, to add signed-off or co-authored lines. --- tools/changelog.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/changelog.sh b/tools/changelog.sh index 845b1d4b4..8753212e9 100755 --- a/tools/changelog.sh +++ b/tools/changelog.sh @@ -86,11 +86,15 @@ function parse-commit { # Return subject if the body or subject match the breaking change format function commit:is-breaking { - local subject="$1" body="$2" + local subject="$1" body="$2" message if [[ "$body" =~ "BREAKING CHANGE: (.*)" || \ "$subject" =~ '^[^ :\)]+\)?!: (.*)$' ]]; then - echo "${match[1]}" + message="${match[1]}" + # skip next paragraphs (separated by two newlines or more) + message="${message%%$'\n\n'*}" + # ... and replace newlines with spaces + echo "${message//$'\n'/ }" else return 1 fi