mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-10-14 21:20:48 +08:00
The v2.5.4 notes had grown to 97 free-form entries exposed verbatim in the in-app update dialog. Distill them to 58 one-theme-per-line entries capped at ~60 CJK characters with no internal terminology, and move the writing rules into template/Changelog.md so every cycle starts from them. Release plumbing now agrees on the --- divider: extract_update_logs.sh stops there like updatelog.mjs, so file-only content never reaches release bodies, while updater.mjs appends a per-tag See More link to the update notes it generates. scripts-workflow/group_platforms.sh locks platform entries under emoji platform headings, wired into pre-commit, release and autobuild CI, and the changelog bump script; AGENTS.md points agents at the template rules.
61 lines
1.2 KiB
Bash
Executable File
61 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# - prepend ./Changelog.md to ./docs/Changelog.history.md
|
|
# - overwrite ./Changelog.md with ./template/Changelog.md
|
|
|
|
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
cd "$ROOT_DIR"
|
|
|
|
CHANGELOG="Changelog.md"
|
|
HISTORY="docs/Changelog.history.md"
|
|
TEMPLATE="template/Changelog.md"
|
|
|
|
timestamp() { date +"%Y%m%d%H%M%S"; }
|
|
|
|
echo "Repo root: $ROOT_DIR"
|
|
|
|
if [ ! -f "$CHANGELOG" ]; then
|
|
echo "Error: $CHANGELOG not found" >&2
|
|
exit 2
|
|
fi
|
|
|
|
if [ ! -f "$TEMPLATE" ]; then
|
|
echo "Error: $TEMPLATE not found" >&2
|
|
exit 3
|
|
fi
|
|
|
|
BACKUP_DIR=".changelog_backups"
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
bak_ts=$(timestamp)
|
|
cp "$CHANGELOG" "$BACKUP_DIR/Changelog.md.bak.$bak_ts"
|
|
echo "Backed up $CHANGELOG -> $BACKUP_DIR/Changelog.md.bak.$bak_ts"
|
|
|
|
bash "$(dirname "$0")/group_platforms.sh"
|
|
|
|
if [ -f "$HISTORY" ]; then
|
|
cp "$HISTORY" "$BACKUP_DIR/Changelog.history.md.bak.$bak_ts"
|
|
echo "Backed up $HISTORY -> $BACKUP_DIR/Changelog.history.md.bak.$bak_ts"
|
|
fi
|
|
|
|
tmpfile=$(mktemp)
|
|
{
|
|
cat "$CHANGELOG"
|
|
echo
|
|
echo ""
|
|
if [ -f "$HISTORY" ]; then
|
|
cat "$HISTORY"
|
|
fi
|
|
} > "$tmpfile"
|
|
|
|
mv "$tmpfile" "$HISTORY"
|
|
echo "Prepended $CHANGELOG -> $HISTORY"
|
|
|
|
cp "$TEMPLATE" "$CHANGELOG"
|
|
echo "Overwrote $CHANGELOG with $TEMPLATE"
|
|
|
|
echo "Done. Backups saved under $BACKUP_DIR"
|
|
|
|
exit 0
|