UNIX/subversion
リポジトリ作成スクリプト
#!/bin/sh
### 引数チェック
if [ "$1" = "" ]; then
echo "usage : svnrepcr.sh [REPOSITORY-DIR]"
echo
echo "ex. svnrepcr.sh /var/data/svn/category/newrepository"
exit 0
fi
REPOSITORY_DIR=$1
### 初期設定
umask 0002
REPOSITORY_NAME=`basename ${REPOSITORY_DIR}`
REPOSITORY_CONF_DIR=${REPOSITORY_DIR}/conf
REPOSITORY_HOOKS_DIR=${REPOSITORY_DIR}/hooks
### リポジトリ作成
svnadmin create --fs-type=fsfs ${REPOSITORY_DIR}
### リポジトリ環境設定
sed "s/{REPOSITORY_NAME}/${REPOSITORY_NAME}/" /etc/subversion/svnserve.conf > ${REPOSITORY_CONF_DIR}/svnserve.conf
### リポジトリ初期登録
TEMP_DIR=`mktemp -d`
mkdir ${TEMP_DIR}/trunk
mkdir ${TEMP_DIR}/branches
mkdir ${TEMP_DIR}/tags
svn import ${TEMP_DIR} file://${REPOSITORY_DIR} -m "Initial import"
rm -rf ${TEMP_DIR}
### HOOKスクリプト設定
cp -p /etc/subversion/svnperms/pre-commit ${REPOSITORY_HOOKS_DIR}
echo "create repository done."