git-srv-admin.sh: Support -p

- Add option -p
  - Revise file permission handling

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2014-07-24 13:50:21 +00:00
commit 0981884ef3

View file

@ -69,17 +69,23 @@ create_project_dir()
fatal "tried to create directory \"$dir\" as `whoami`, needs to be done as root" fatal "tried to create directory \"$dir\" as `whoami`, needs to be done as root"
fi fi
md_p `dirname $dir` 750 root jannet md_p /srv/git 750 root cvs
md_p $dir 770 root $id 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() 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" /usr/bin/sudo `readlink -f $0` create-project-dir $dir || fatal "failed to set root uid"
cd $dir || fatal "failed to change to $dir" 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() list_personal_projects()
@ -97,6 +103,7 @@ id=`whoami`
git_home=/srv/git/$id git_home=/srv/git/$id
pdir=$git_home/priv pdir=$git_home/priv
no_error_if_exists=0
OPTIND=1 OPTIND=1
while getopts jh flag; do while getopts jh flag; do
@ -106,6 +113,8 @@ while getopts jh flag; do
pdir=$git_home/proj;; pdir=$git_home/proj;;
h) h)
usage 0;; usage 0;;
p)
no_error_if_exist=1;;
*) *)
usage 1;; usage 1;;
esac esac