Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
just: Rename `HOOK_NAME` to just `HOOK`
Lorenz Leutgeb committed 13 days ago
commit fc12414778d845505e252416024e1170a2828dea
parent 112c901
1 file changed +10 -18
modified scripts/git-hook-template.sh
@@ -1,11 +1,11 @@
#! /usr/bin/env bash
set -euo pipefail

-
readonly HOOK_NAME="$(basename "$0")"
+
readonly HOOK="${HOOK:-$(basename "$0")}"

-
if ! [[ "$HOOK_NAME" =~ ^(pre-(commit|push)|post-checkout)$ ]]
+
if ! [[ "$HOOK" =~ ^(pre-(commit|push)|post-checkout)$ ]]
then
-
    echo "Unknown hook '${HOOK_NAME}'."
+
    echo "Unknown hook '${HOOK}'."
    exit 1
fi

@@ -18,7 +18,8 @@ mapfile -t CHANGED_FILES < <(comm -12 \
    <(IFS=$'\n'; echo "${SENSITIVE_FILES[*]}" | sort) \
)

-
if [ ${#CHANGED_FILES[@]} -gt 0 ]; then
+
if [ ${#CHANGED_FILES[@]} -gt 0 ]
+
then
    echo "⚠️ WARNING: Sensitive files have been modified relative to $BASE_BRANCH."
    echo "Executing this hook may run arbitrary code from the modified files."
    echo ""
@@ -28,26 +29,17 @@ if [ ${#CHANGED_FILES[@]} -gt 0 ]; then
    # Read from /dev/tty because stdin is not attached to the terminal in Git hooks.
    exec < /dev/tty

-
    read -r -p "⚠️ Do you want to continue executing the '${HOOK_NAME}' hook? [y/N] " response
+
    read -r -p "⚠️ Do you want to continue executing the '${HOOK}' hook? [y/N] " response
    case "$response" in
        [yY][eE][sS]|[yY])
-
            echo "Continuing with '${HOOK_NAME}' hook..."
+
            echo "Continuing with '${HOOK}' hook…"
            ;;
        *)
-
            echo "Skipping '${HOOK_NAME}' hook."
+
            echo "Skipping '${HOOK}' hook."
            exit 0
            ;;
    esac
fi

-
# Execute the appropriate just recipe based on the hook name
-
if [ "$HOOK_NAME" = "pre-commit" ]; then
-
    just pre-commit
-
elif [ "$HOOK_NAME" = "pre-push" ]; then
-
    just pre-push
-
elif [ "$HOOK_NAME" = "post-checkout" ]; then
-
    just post-checkout
-
else
-
    echo "⚠️ Unknown hook: $HOOK_NAME"
-
    exit 1
-
fi
+
just "$HOOK"
+