From 475af753bf97ff2079e0cc49533d4b3c480dde95 Mon Sep 17 00:00:00 2001 From: SnapOtter Date: Mon, 18 May 2026 10:20:12 +0800 Subject: [PATCH] chore: add pre-push hook guard and test scene fixture --- .husky/pre-push | 5 +++++ tests/fixtures/test-scene.png | Bin 0 -> 5496 bytes 2 files changed, 5 insertions(+) create mode 100755 .husky/pre-push create mode 100644 tests/fixtures/test-scene.png diff --git a/.husky/pre-push b/.husky/pre-push new file mode 100755 index 00000000..59c634c3 --- /dev/null +++ b/.husky/pre-push @@ -0,0 +1,5 @@ +if git diff --cached --name-only HEAD@{1}..HEAD 2>/dev/null | grep -q "^\.local-wiki/" || \ + git log --name-only --pretty=format: @{u}..HEAD 2>/dev/null | grep -q "^\.local-wiki/"; then + echo "ERROR: .local-wiki/ files detected in push. This directory is private and must never be pushed." + exit 1 +fi diff --git a/tests/fixtures/test-scene.png b/tests/fixtures/test-scene.png new file mode 100644 index 0000000000000000000000000000000000000000..e7036b718061b4f315d71470fdde4a15f4de58a4 GIT binary patch literal 5496 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