#!/bin/bash # pre-push: validate Pd patches before pushing set -euo pipefail REPO="$(cd "$(dirname "$0")/.." && pwd)" # Only check if there are any .pd files staged or changed STAGED_PD=$(git diff --cached --name-only -- '*.pd' 2>/dev/null || true) CHANGED_PD=$(git diff --name-only -- '*.pd' 2>/dev/null || true) if [ -z "$STAGED_PD" ] && [ -z "$CHANGED_PD" ]; then exit 0 fi echo "[githook:pre-push] Validating Pd patches..." cd "$REPO" if python3 pd-validator/validate.py pd/*.pd; then echo "[githook:pre-push] All patches valid" exit 0 else echo "[githook:pre-push] Patch validation FAILED — fix before pushing" exit 1 fi