From 0981884ef38274c583a8ae8fdae2a8c99b8a63b2 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Thu, 24 Jul 2014 13:50:21 +0000 Subject: [PATCH] git-srv-admin.sh: Support -p - Add option -p - Revise file permission handling Signed-off-by: Jan Lindemann --- scripts/git-srv-admin.sh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/git-srv-admin.sh b/scripts/git-srv-admin.sh index d6333d9a..e3bb8bcc 100644 --- a/scripts/git-srv-admin.sh +++ b/scripts/git-srv-admin.sh @@ -69,17 +69,23 @@ create_project_dir() fatal "tried to create directory \"$dir\" as `whoami`, needs to be done as root" fi - md_p `dirname $dir` 750 root jannet - md_p $dir 770 root $id + 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` } create_personal_project() { - [ -e $dir ] && fatal "$dir already exists" + [ -e $dir ] && { + err "$dir already exists" + test $no_error_if_exists -eq 0 + exit $? + } /usr/bin/sudo `readlink -f $0` create-project-dir $dir || fatal "failed to set root uid" cd $dir || fatal "failed to change to $dir" - git init --bare || fatal "git init failed" + git init --bare --shared=0640 || fatal "git init failed" } list_personal_projects() @@ -97,6 +103,7 @@ id=`whoami` git_home=/srv/git/$id pdir=$git_home/priv +no_error_if_exists=0 OPTIND=1 while getopts jh flag; do @@ -106,6 +113,8 @@ while getopts jh flag; do pdir=$git_home/proj;; h) usage 0;; + p) + no_error_if_exist=1;; *) usage 1;; esac