16 lines
741 B
Bash
Executable File
16 lines
741 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Generate and validate the selected vault graph before accepting a commit.
|
|
set -euo pipefail
|
|
|
|
framework_root="$(cd -- "$(dirname -- "$(readlink -f -- "${BASH_SOURCE[0]}")")/.." && pwd)"
|
|
vault_root="${1:-${KNOWLEDGE_BASE_ROOT:-$framework_root}}"
|
|
echo "[pre-commit] Generating and validating graph..."
|
|
"${PYTHON:-python3}" "$framework_root/scripts/generate-graph.py" --vault-root "$vault_root" --write --validate
|
|
|
|
if ! git -C "$vault_root" ls-files --error-unmatch index/graph.json >/dev/null 2>&1 || \
|
|
! git -C "$vault_root" diff --quiet -- index/graph.json; then
|
|
echo "[pre-commit] index/graph.json was modified by generation."
|
|
echo "[pre-commit] Stage the generated index/graph.json before committing."
|
|
exit 1
|
|
fi
|