summaryrefslogtreecommitdiff
path: root/tools/changelog.sh
diff options
context:
space:
mode:
authorMarc Cornellà <marc@mcornella.com>2025-01-23 20:38:12 +0100
committerGitHub <noreply@github.com>2025-01-23 20:38:12 +0100
commit4e29c670a48a17276d04b3e47262b10f28dfcc0b (patch)
treee2efa81d65f39e593a2501f3e644b1ea76ae5e13 /tools/changelog.sh
parent1bae19973671dde75506c541ba576de4dae8cb29 (diff)
downloadzsh-4e29c670a48a17276d04b3e47262b10f28dfcc0b.tar.gz
zsh-4e29c670a48a17276d04b3e47262b10f28dfcc0b.tar.bz2
zsh-4e29c670a48a17276d04b3e47262b10f28dfcc0b.zip
fix(changelog): show if there are no changes (#12934)
Diffstat (limited to 'tools/changelog.sh')
-rwxr-xr-xtools/changelog.sh15
1 files changed, 14 insertions, 1 deletions
diff --git a/tools/changelog.sh b/tools/changelog.sh
index c4b26079e..ff409115f 100755
--- a/tools/changelog.sh
+++ b/tools/changelog.sh
@@ -400,6 +400,9 @@ function display-release {
function display:breaking {
(( $#breaking != 0 )) || return 0
+ # If we reach here we have shown commits, set flag
+ shown_commits=1
+
case "$output" in
text) printf '\e[31m'; fmt:header "BREAKING CHANGES" 3 ;;
raw) fmt:header "BREAKING CHANGES" 3 ;;
@@ -427,6 +430,9 @@ function display-release {
# If no commits found of type $type, go to next type
(( $#hashes != 0 )) || return 0
+ # If we reach here we have shown commits, set flag
+ shown_commits=1
+
fmt:header "${TYPES[$type]}" 3
for hash in $hashes; do
echo " - $(fmt:hash) $(fmt:scope)$(fmt:subject)"
@@ -444,6 +450,9 @@ function display-release {
# If no commits found under "other" types, don't display anything
(( $#changes != 0 )) || return 0
+ # If we reach here we have shown commits, set flag
+ shown_commits=1
+
fmt:header "Other changes" 3
for hash type in ${(kv)changes}; do
case "$type" in
@@ -498,7 +507,7 @@ function main {
# Commit classification arrays
local -A types subjects scopes breaking reverts
- local truncate=0 read_commits=0
+ local truncate=0 read_commits=0 shown_commits=0
local version tag
local hash refs subject body
@@ -569,6 +578,10 @@ function main {
echo " ...more commits omitted"
echo
fi
+
+ if (( ! shown_commits )); then
+ echo "No changes to mention."
+ fi
}
# Use raw output if stdout is not a tty