Files
CursorInitGeneral/.cursor/changelog/tools/git-hooks/pre-commit

26 lines
795 B
Bash

#!/bin/sh
# pre-commit — 从 fragment 源重建 changelog 视图并纳入本次提交。
# 保证每个提交里的 full/recent/headlines/by-author 与 entries/ 严格一致。
# 找不到 python 时静默跳过,不阻塞提交。
ROOT=$(git rev-parse --show-toplevel 2>/dev/null) || exit 0
cd "$ROOT" || exit 0
BUILD=".cursor/changelog/tools/changelog_build.py"
[ -f "$BUILD" ] || exit 0
if command -v python >/dev/null 2>&1; then PY=python
elif command -v python3 >/dev/null 2>&1; then PY=python3
else exit 0
fi
PYTHONIOENCODING=utf-8 "$PY" "$BUILD" >/dev/null 2>&1 || exit 0
git add \
.cursor/changelog/changelog-full.md \
.cursor/changelog/changelog-recent.md \
.cursor/changelog/changelog-headlines.md \
.cursor/changelog/changelog-by-author.md 2>/dev/null || true
exit 0