Summary Files Commits Branches @commit @diff @stats
path: root / scripts / protect
diff options
context:
space:
mode:
Commit709a50ab8fc61395182500b6815dccf9aba40b47 (patch)
Author
 Syndamia <kamen@syndamia.com>
2026-11-02 20:30:33 +0200
Committer
 Syndamia <kamen@syndamia.com>
2026-11-02 20:30:33 +0200
Filesb28b244c584ab70453dd1e2070e5c0954578cf87 /scripts/protect
cli-709a50ab8fc61395182500b6815dccf9aba40b47.tar
cli-709a50ab8fc61395182500b6815dccf9aba40b47.tar.gz
cli-709a50ab8fc61395182500b6815dccf9aba40b47.zip
Parente52ee8a3f702e82df6a686c03cdc0b2366d0770a (diff)
feat(scripts): Implement protect and unprotect scripts HEAD main
1 files changed, 25 insertions, 0 deletions
-rwxr-xr-xscripts/protect25
diff --git a/scripts/protect b/scripts/protect
new file mode 100755
index 0000000..b656b84
--- /dev/null
+++ b/scripts/protect
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+if [ -z "$1" ]
+then
+ printf 'Repository : '
+ read
+ set "$REPLY"
+fi
+
+if [ ! -f "$1/HEAD" ]
+then
+ echo 'Not a repository!'
+ exit 1
+fi
+
+if [ ! -w "$1/HEAD" ]
+then
+ echo 'Read-only repository!'
+ exit 2
+fi
+
+if cd "$1"
+then
+ git config set --file ./config receive.denyNonFastForwards true
+fi