From 3f4250926be3ceefd9792c5a78c89d136b02d2cf Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 29 May 2015 18:31:33 +0200 Subject: Add server-side mkrepo script --- server/mkrepo.sh | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100755 server/mkrepo.sh diff --git a/server/mkrepo.sh b/server/mkrepo.sh new file mode 100755 index 0000000..9c40529 --- /dev/null +++ b/server/mkrepo.sh @@ -0,0 +1,59 @@ +#! /usr/bin/env bash + +# Create remote git repository (on the server). You must run this script +# from the directory where you want the repository to be created. +# +# Usage: mkrepo.sh [] +# +# --private make the repository private +# +# Note: if without the .git suffix. +# +trap 'exit 1' ERR + +function error () +{ + echo "$*" 1>&2 +} + +public=y + +while [ $# -gt 0 ]; do + case $1 in + --private) + public=n + shift + ;; + -*) + error "unknown option: $1" + exit 1 + ;; + *) + break + ;; + esac +done + +if [ "$1" = "" ]; then + error "repository name expected" + exit 1 +fi + +r=$1.git + +mkdir $r +chgrp scm $r +git --bare init --shared=all $r +error "Enter project description (one line; or edit $r/descrition later)" +error "Hit Ctrl-D when done" +cat >$r/description +chgrp -R scm $r + +if [ "$public" = "y" ]; then + f=$r/git-daemon-export-ok + touch $f + chgrp scm $f + chmod g+w $f +fi + +mv $r/hooks/post-update.sample $r/hooks/post-update -- cgit v1.1