mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-01-29 17:15:38 +08:00
34 lines
1.2 KiB
Bash
34 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
# $1: remote name (e.g., origin)
|
|
# $2: remote url (e.g., git@github.com:clash-verge-rev/clash-verge-rev.git)
|
|
|
|
if git diff --cached --name-only | grep -q '^src-tauri/'; then
|
|
cargo clippy --manifest-path ./src-tauri/Cargo.toml -- -D warnings
|
|
if [ $? -ne 0 ]; then
|
|
echo "Clippy found issues in src-tauri. Please fix them before pushing."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
|
|
# Only run format check if the remote exists and is the main repo
|
|
remote_name="$1"
|
|
if git remote get-url "$remote_name" >/dev/null 2>&1; then
|
|
remote_url=$(git remote get-url "$remote_name")
|
|
if [[ "$remote_url" =~ github\\.com[:/]+clash-verge-rev/clash-verge-rev(\\.git)?$ ]]; then
|
|
echo "[pre-push] Detected push to clash-verge-rev/clash-verge-rev ($remote_url)"
|
|
echo "[pre-push] Running pnpm format:check..."
|
|
pnpm format:check
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ Code format check failed. Please fix formatting before pushing."
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "[pre-push] Not pushing to target repo. Skipping format check."
|
|
fi
|
|
else
|
|
echo "[pre-push] Remote $remote_name does not exist. Skipping format check."
|
|
fi
|
|
|
|
exit 0 |