summaryrefslogtreecommitdiff
path: root/repo
diff options
context:
space:
mode:
Diffstat (limited to 'repo')
-rwxr-xr-xrepo/hooks/post-receive4
-rwxr-xr-xrepo/mkhooks21
-rwxr-xr-xrepo/mkrepo30
3 files changed, 55 insertions, 0 deletions
diff --git a/repo/hooks/post-receive b/repo/hooks/post-receive
new file mode 100755
index 0000000..e52c668
--- /dev/null
+++ b/repo/hooks/post-receive
@@ -0,0 +1,4 @@
+#!/bin/rc
+
+www/generate/src/stagit
+www/generate/src/gomod
diff --git a/repo/mkhooks b/repo/mkhooks
new file mode 100755
index 0000000..f02964f
--- /dev/null
+++ b/repo/mkhooks
@@ -0,0 +1,21 @@
+#!/bin/rc
+
+user = _git
+gitdir = /var/git
+
+# just assume post-receive will always exists. I know. ugly
+hookdir = `{dirname `{whatis repo/hooks/post-receive}}
+
+fn as {
+ doas -u $user $*
+}
+
+for (repo in $gitdir/*) {
+ for (hook in $hookdir/*) {
+ dest = $repo/hooks/`{basename $hook}
+
+ if (!test -e $dest) {
+ ln -s $hook $dest
+ }
+ }
+}
diff --git a/repo/mkrepo b/repo/mkrepo
new file mode 100755
index 0000000..d747cff
--- /dev/null
+++ b/repo/mkrepo
@@ -0,0 +1,30 @@
+#!/bin/rc
+
+user = _git
+domain = `hostname
+gitdir = /var/git
+
+fn as {
+ doas -u $user $*
+}
+
+estatus = 0
+
+for (repo in $*) {
+ rdir = $gitdir/$repo
+
+ if (!test -e $rdir) {
+ as mkdir $rdir
+ cd $rdir
+ as git init --bare
+
+ echo
+ echo git remote add origin $domain:$rdir
+ echo git push --set-upstream origin master
+ } else {
+ estatus = 1
+ echo error: $rdir already exists >[1=2]
+ }
+}
+
+exit $estatus