增加本地推送前代码检查钩子
This commit is contained in:
Executable
+30
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)"
|
||||
|
||||
push_lines="$(cat)"
|
||||
has_updates=0
|
||||
has_deletions=0
|
||||
while read -r local_ref local_sha remote_ref remote_sha; do
|
||||
[ -z "${local_ref}" ] && continue
|
||||
if [ "$local_sha" = "0000000000000000000000000000000000000000" ]; then
|
||||
has_deletions=1
|
||||
else
|
||||
has_updates=1
|
||||
fi
|
||||
done <<< "$push_lines"
|
||||
|
||||
if [ "$has_updates" = "0" ] && [ "$has_deletions" = "1" ]; then
|
||||
echo "[pre-push] 分支删除推送,跳过本地检查"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "${SKIP_CHECKS:-0}" = "1" ]; then
|
||||
echo "[pre-push] SKIP_CHECKS=1,跳过本地检查"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "[pre-push] 运行本地代码门禁..."
|
||||
bash scripts/check.sh
|
||||
echo "[pre-push] 本地检查通过"
|
||||
Reference in New Issue
Block a user