#!/bin/sh
# matrixscroll-git hook
set -e
MATRIXSCROLL_PYTHON=@MATRIXSCROLL_PYTHON@
"$MATRIXSCROLL_PYTHON" -E -c 'import sys; sys.path = [p for p in sys.path if p]; import runpy; runpy.run_module("matrixscroll.git", run_name="__main__")' hook pre-push "$@" || {
  ROOT="$(git rev-parse --show-toplevel)" || exit 2
  CONFIG="$ROOT/.git/matrixscroll/config.json"
  ENFORCE=false
  if [ -f "$CONFIG" ]; then
    ENFORCE=$("$MATRIXSCROLL_PYTHON" -E -c "import sys; sys.path = [p for p in sys.path if p]; import json; print(json.load(open(sys.argv[1])).get('enforce', False))" "$CONFIG") || {
      echo "matrixscroll: cannot read enforcement policy" >&2
      exit 2
    }
  fi
  if [ "$ENFORCE" = "True" ] || [ "$ENFORCE" = "true" ]; then
    echo "matrixscroll: envelope verification failed (enforce mode)" >&2
    exit 2
  fi
  echo "matrixscroll: envelope verification failed (warn mode)" >&2
}
exit 0
