5ac4792c3c
contrib/manifest/generate.py + pre-commit hook; install-git-hooks.sh creates .local/build-release-manifest.sh (gitignored). Remove scripts/ from remote.
32 lines
1.0 KiB
Bash
32 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# Установка git hooks и локального скрипта ручной генерации manifest (не в git).
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
HOOK_SRC="$ROOT/contrib/hooks/pre-commit"
|
|
HOOK_DST="$ROOT/.git/hooks/pre-commit"
|
|
LOCAL_DIR="$ROOT/.local"
|
|
LOCAL_SCRIPT="$LOCAL_DIR/build-release-manifest.sh"
|
|
|
|
if [ ! -d "$ROOT/.git" ]; then
|
|
echo "ERROR: не git-репозиторий: $ROOT" >&2
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$LOCAL_DIR"
|
|
cat >"$LOCAL_SCRIPT" <<'EOF'
|
|
#!/bin/bash
|
|
# Локальный wrapper (не коммитится). Ручная генерация manifest.
|
|
set -euo pipefail
|
|
ROOT="$(git rev-parse --show-toplevel)"
|
|
exec python3 "$ROOT/contrib/manifest/generate.py" "$@"
|
|
EOF
|
|
chmod +x "$LOCAL_SCRIPT"
|
|
|
|
cp "$HOOK_SRC" "$HOOK_DST"
|
|
chmod +x "$HOOK_DST"
|
|
|
|
echo "OK: pre-commit hook → $HOOK_DST"
|
|
echo "OK: ручной скрипт → $LOCAL_SCRIPT (в .gitignore, не уйдёт в Gitea/GitHub)"
|
|
echo "После clone выполните: ./contrib/install-git-hooks.sh"
|