34 lines
1001 B
Bash
Executable File
34 lines
1001 B
Bash
Executable File
#!/bin/bash
|
|
# commit-msg: Version in Commit-Message aktualisieren und Changelog-Eintrag prependen (nur dev-Branch)
|
|
|
|
branch=$(git symbolic-ref --short HEAD 2>/dev/null)
|
|
[[ "$branch" != "dev" ]] && exit 0
|
|
|
|
root=$(git rev-parse --show-toplevel)
|
|
cd "$root"
|
|
|
|
# Aktuelle Version aus addon.xml (bereits vom pre-commit Hook hochgezaehlt)
|
|
version=$(grep -oP 'version="\K[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?[^"]*' addon/addon.xml | head -1)
|
|
|
|
# Commit-Message: alte Versionsnummern durch aktuelle ersetzen
|
|
msg=$(cat "$1")
|
|
updated_msg=$(echo "$msg" | sed -E "s/bump to [0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?[^ ]*/bump to ${version}/g")
|
|
echo "$updated_msg" > "$1"
|
|
|
|
today=$(date +%Y-%m-%d)
|
|
|
|
# Changelog-Eintrag aufbauen
|
|
{
|
|
echo "## ${version} - ${today}"
|
|
echo ""
|
|
while IFS= read -r line; do
|
|
[[ -z "$line" ]] && continue
|
|
echo "- ${line}"
|
|
done <<< "$updated_msg"
|
|
echo ""
|
|
cat CHANGELOG-DEV.md
|
|
} > /tmp/changelog_new.md
|
|
|
|
mv /tmp/changelog_new.md CHANGELOG-DEV.md
|
|
git add CHANGELOG-DEV.md
|