summary refs log tree commit diff
path: root/lib/hooks/pre-commit
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2024-10-10 21:45:13 +0200
committerRory& <root@rory.gay>2024-10-10 21:45:39 +0200
commit020a5571a26294ef3e456ce8f3bbf5c3201de85d (patch)
tree11ab79b215414bc16aa6b7c7cc9e2a27d6b63043 /lib/hooks/pre-commit
parentServer update (diff)
downloadRory-Open-Architecture-020a5571a26294ef3e456ce8f3bbf5c3201de85d.tar.xz
Small updates, fix grapevine
Diffstat (limited to 'lib/hooks/pre-commit')
-rwxr-xr-xlib/hooks/pre-commit23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/hooks/pre-commit b/lib/hooks/pre-commit
index e69de29..bcd164c 100755
--- a/lib/hooks/pre-commit
+++ b/lib/hooks/pre-commit
@@ -0,0 +1,23 @@
+#!/usr/bin/env sh
+
+# full paths from the repo root separated by newlines
+MUST_NOT_CHANGE='hardware-configuration.nix
+key2.json'
+
+if git rev-parse --verify HEAD >/dev/null 2>&1
+then
+  against=HEAD
+else
+  # Initial commit: diff against an empty tree object
+  against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
+fi
+
+exec 1>&2
+
+if git diff --cached --name-only $against | grep --quiet --line-regexp --fixed-strings "$MUST_NOT_CHANGE"
+then
+  echo Commit would modify one or more files that must not change.
+  exit 1
+else
+  exit 0
+fi
\ No newline at end of file