diff --git a/scripts/git-srv-admin.sh b/scripts/git-srv-admin.sh index 9487c89d..2b4221c8 100644 --- a/scripts/git-srv-admin.sh +++ b/scripts/git-srv-admin.sh @@ -27,16 +27,18 @@ EOT log() { echo $@ + logger -t $myname "$@" } err() { echo $@ >&2 + logger -t $myname "error: $@" } fatal() { - err $@ + err "fatal: $@" exit 1 } @@ -64,23 +66,19 @@ check_user_is_self() # ----------------- commands md_p() { - if [ -d "$1" ]; then - return - fi - md_p `dirname $1` $2 $3 $4 + [ -d "$1" ] && return + md_p `dirname "$1"` $2 $3 $4 md $@ } cmd_cmd_create_repo_dir() { - if [ "$UID" != 0 ]; then - fatal "tried to create directory \"$dir\" as `whoami`, needs to be done as root" - fi - - md_p /srv/git 750 root cvs - md_p /srv/git/$id 750 root cvs - md_p `dirname $dir` 750 $id jannet - md_p $dir 02750 $id `id -g $id` + [ "$UID" != 0 ] && fatal "tried to create directory \"$dir\" as `whoami`, needs to be done as root" + local gid=`id -g $id` + md_p /srv/git 750 root git + md_p /srv/git/$id 750 root git + md_p `dirname $dir` 750 $id $gid + md_p $dir 02750 $id $gid } cmd_create_repo()