diff options
Diffstat (limited to 'repo')
| -rwxr-xr-x | repo/hooks/post-receive | 4 | ||||
| -rwxr-xr-x | repo/mkhooks | 21 | ||||
| -rwxr-xr-x | repo/mkrepo | 30 |
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 |