From d3e134d2470273b90bdde457d22a4ba477c6af8c Mon Sep 17 00:00:00 2001 From: chenhang Date: Mon, 15 Jun 2026 13:02:46 +0800 Subject: [PATCH] fix(githooks): use simple NVM loading (same as .bashrc) Replace complex pnpm-finding fallback with the same NVM loading syntax used in ~/.bashrc. Removes the multiple candidate-path fallback loop in favor of a clean shell snippet. --- .githooks-test.txt | 4 ---- .githooks/post-receive | 26 +++++--------------------- abstest.txt | 1 - test-after-delete.txt | 1 - test-trace.txt | 1 - test2.txt | 1 - 6 files changed, 5 insertions(+), 29 deletions(-) delete mode 100644 .githooks-test.txt delete mode 100644 abstest.txt delete mode 100644 test-after-delete.txt delete mode 100644 test-trace.txt delete mode 100644 test2.txt diff --git a/.githooks-test.txt b/.githooks-test.txt deleted file mode 100644 index 606274f4..00000000 --- a/.githooks-test.txt +++ /dev/null @@ -1,4 +0,0 @@ -// test push Mon Jun 15 11:25:24 CST 2026 -test push 2 - Mon Jun 15 11:28:20 CST 2026 -test push 3 - Mon Jun 15 11:30:10 CST 2026 -push 4 - Mon Jun 15 11:31:12 CST 2026 diff --git a/.githooks/post-receive b/.githooks/post-receive index 478964e4..c6ebd622 100755 --- a/.githooks/post-receive +++ b/.githooks/post-receive @@ -37,27 +37,11 @@ else fi cd "$REPO_TOPLEVEL" || { echo "FATAL: cannot cd to $REPO_TOPLEVEL" >&2; exit 1; } -# 加**载** nvm(**非**交互 shell **不**自动 source .bashrc) -# nvm 是 POSIX **兼**容,但**有**个**问**题:它**会** [ -n "$BASH_VERSION" ] **检**查, -# 在 dash **下** nvm 函**数**注**册**失败(pnpm **仍**然**找**不**到**)。 -# 所以策略是:尝**试** source nvm,**如**果失**败**则**直**接**找** pnpm **可执**行文件路径。 -PNPM_BIN="$(command -v pnpm 2>/dev/null || true)" -if [ -z "$PNPM_BIN" ] && [ -s "$HOME/.nvm/nvm.sh" ]; then - \. "$HOME/.nvm/nvm.sh" 2>/dev/null || true - PNPM_BIN="$(command -v pnpm 2>/dev/null || true)" -fi -# 兜底:**直**接**搜**索 **常**见 nvm 路**径** -if [ -z "$PNPM_BIN" ]; then - for candidate in /root/.nvm/versions/node/*/bin/pnpm "$HOME/.local/share/pnpm/pnpm" /usr/local/bin/pnpm; do - if [ -x "$candidate" ]; then - PNPM_BIN="$candidate" - break - fi - done -fi -if [ -n "$PNPM_BIN" ]; then - export PATH="$(dirname "$PNPM_BIN"):$PATH" -fi +# 加**载** nvm(**非**交互 shell **不**自动 source .bashrc,pnpm **所**以**找**不**到**) +# 同 .bashrc **里**的 NVM **加**载逻辑 +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion # ============================================================ # 1. init_log_file —— 定**义** LOG_FILE + 创**建** logs/ 目**录** diff --git a/abstest.txt b/abstest.txt deleted file mode 100644 index 89584e85..00000000 --- a/abstest.txt +++ /dev/null @@ -1 +0,0 @@ -abs path test diff --git a/test-after-delete.txt b/test-after-delete.txt deleted file mode 100644 index fb8f0fce..00000000 --- a/test-after-delete.txt +++ /dev/null @@ -1 +0,0 @@ -after old hook delete diff --git a/test-trace.txt b/test-trace.txt deleted file mode 100644 index 9daeafb9..00000000 --- a/test-trace.txt +++ /dev/null @@ -1 +0,0 @@ -test diff --git a/test2.txt b/test2.txt deleted file mode 100644 index 3e06dccb..00000000 --- a/test2.txt +++ /dev/null @@ -1 +0,0 @@ -another commit