mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-01-29 00:35:38 +08:00
62 lines
1.3 KiB
Bash
Executable File
62 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# bump_changelog.sh
|
|
# - 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"
|
|
|
|
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
|
|
|
|
# Prepend current Changelog.md content to top of docs/Changelog.history.md
|
|
tmpfile=$(mktemp)
|
|
{
|
|
cat "$CHANGELOG"
|
|
echo
|
|
echo ""
|
|
if [ -f "$HISTORY" ]; then
|
|
cat "$HISTORY"
|
|
fi
|
|
} > "$tmpfile"
|
|
|
|
mv "$tmpfile" "$HISTORY"
|
|
echo "Prepended $CHANGELOG -> $HISTORY"
|
|
|
|
# Overwrite Changelog.md with template
|
|
cp "$TEMPLATE" "$CHANGELOG"
|
|
echo "Overwrote $CHANGELOG with $TEMPLATE"
|
|
|
|
echo "Done. Backups saved under $BACKUP_DIR"
|
|
|
|
exit 0
|