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
34 if [ "$3" != "-noinit" ]; then
36 svn mkdir -m "REPOS init." file://${NEWREPOS}/trunk file://${NEWREPOS}/tags file://${NEWREPOS}/branches file://${NEWREPOS}/vendor
40 mkdir -p ${NEWREPOS}/dav
41 chgrp -R www-data ${NEWREPOS}
42 chmod -R o-rwx ${NEWREPOS}
43 chmod -R g+wX ${NEWREPOS}/db
44 chmod g+ws ${NEWREPOS}/dav
47 mkdir -p ${REPOSBACKUP}/incremental
48 chgrp -R www-data ${REPOSBACKUP}
49 chmod -R g+ws ${REPOSBACKUP}
53 echo "${NEWREPOS} ${REPOSBACKUP} are created"