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.
This commit is contained in:
Marc Cornellà 2020-12-12 14:22:26 +01:00
parent e8e37eedbc
commit e2c73cf59a

View File

@ -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