fix(githooks): enhance post-commit script to unset local environment variables
This commit is contained in:
@@ -6,6 +6,7 @@ REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null)"
|
|||||||
SCRIPT_PATH="$REPO_ROOT/scripts/release/pre_release_web.sh"
|
SCRIPT_PATH="$REPO_ROOT/scripts/release/pre_release_web.sh"
|
||||||
LOG_FILE="$REPO_ROOT/logs/post-commit.log"
|
LOG_FILE="$REPO_ROOT/logs/post-commit.log"
|
||||||
COMMIT_HASH="$(git rev-parse --short HEAD 2>/dev/null || echo unknown)"
|
COMMIT_HASH="$(git rev-parse --short HEAD 2>/dev/null || echo unknown)"
|
||||||
|
GIT_LOCAL_ENV_VARS="$(git rev-parse --local-env-vars 2>/dev/null || true)"
|
||||||
|
|
||||||
mkdir -p "$(dirname "$LOG_FILE")"
|
mkdir -p "$(dirname "$LOG_FILE")"
|
||||||
|
|
||||||
@@ -27,7 +28,12 @@ if [ ! -x "$SCRIPT_PATH" ]; then
|
|||||||
exit 127
|
exit 127
|
||||||
fi
|
fi
|
||||||
|
|
||||||
"$SCRIPT_PATH" >> "$LOG_FILE" 2>&1
|
(
|
||||||
|
for var in $GIT_LOCAL_ENV_VARS; do
|
||||||
|
unset "$var"
|
||||||
|
done
|
||||||
|
"$SCRIPT_PATH"
|
||||||
|
) >> "$LOG_FILE" 2>&1
|
||||||
EXIT_CODE=$?
|
EXIT_CODE=$?
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,16 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
unset_git_hook_env() {
|
||||||
|
local var
|
||||||
|
while IFS= read -r var; do
|
||||||
|
[ -n "$var" ] && unset "$var"
|
||||||
|
done < <(git rev-parse --local-env-vars 2>/dev/null || true)
|
||||||
|
}
|
||||||
|
|
||||||
|
unset_git_hook_env
|
||||||
|
|
||||||
# Test 分支 worktree 路径
|
# Test 分支 worktree 路径
|
||||||
WORKTREE_PATH="/Users/chase/Documents/frontend/cozsweet-frontend-nextjs.worktrees/cozsweet-nextjs-test"
|
WORKTREE_PATH="/Users/chase/Documents/frontend/cozsweet-frontend-nextjs.worktrees/cozsweet-nextjs-test"
|
||||||
echo "=== 进入 test 分支 worktree ==="
|
echo "=== 进入 test 分支 worktree ==="
|
||||||
|
|||||||
Reference in New Issue
Block a user