6 PROJECT_NAME="${1:?"usage: $0 <PROJECT_NAME> <SUB_ROOTDIR> [-noinit] "}"
7 SUB_ROOTDIR="${2:?"usage: $0 <PROJECT_NAME> <SUB_ROOTDIR> [-noinit] "}"
9 # stop script if "$1" exists
12 echo "$1" already exists
17 # set global environments
18 NEWREPOS="/var/svn/${SUB_ROOTDIR}/${PROJECT_NAME}"
19 REPOSBACKUP="/var/backups/svn/${SUB_ROOTDIR}/${PROJECT_NAME}"
21 HOOKSKEL="/home/tools/svn/hooks"
23 # check paths to be created
25 isexist ${REPOSBACKUP}
29 svnadmin create --fs-type fsfs ${NEWREPOS}
30 for HOOK in `ls ${HOOKSKEL}`; do
31 ln -s ${HOOKSKEL}/${HOOK} ${NEWREPOS}/hooks
33 mkdir -p ${NEWREPOS}/dav
34 chgrp -R www-data ${NEWREPOS}
35 chmod -R o-rw ${NEWREPOS}
36 chmod -R g+ws ${NEWREPOS}/db
37 chmod -R g+ws ${NEWREPOS}/dav
40 mkdir -p ${REPOSBACKUP}/incremental
41 chgrp -R www-data ${REPOSBACKUP}
42 chmod -R g+ws ${REPOSBACKUP}
44 if [ "$3" != "-noinit" ]; then
46 svn mkdir -m "REPOS init." file://${NEWREPOS}/trunk file://${NEWREPOS}/tags file://${NEWREPOS}/branches file://${NEWREPOS}/vendor
51 echo "${NEWREPOS} ${REPOSBACKUP} are created"