SVN 저장소를 생성하는 쉘 스크립트 입니다.
SVN 버전
- 1.9.7 (r1800392)
해당 스크립트 위치
- /home/svn
- 스크립트
#!/bin/bash
# @Author gentian0185
# @Date 19.06.03
### 상수
SVNHOST="svn://$HOST_IP"
SVNBOT_ID="svnbot"
SVNBOT_PASS="svnbot"
SVN_PATH="/home/svn"
if [ -k $1 ];
then
echo "등록할 레파지토리 명을 입력해주세요 (폴더 포함 가능)"
echo "ex) svn/BOK, SimpleProject"
exit 1
fi
SVN_MKPATH="$SVN_PATH/$1"
while true; do
read -p "$SVN_MKPATH 에 레파지토리를 생성하시겠습니까? (y or n)" yn
case $yn in
[Yy]* ) break;;
[Nn]* ) exit;;
* ) echo "y or n.";;
esac
done
currPath=$(pwd)
cd $SVN_PATH
echo "$SVN_MKPATH 저장소 생성중..."
echo "svnadmin create --fs-type fsfs $SVN_MKPATH"
svnadmin create --fs-type fsfs $SVN_MKPATH
echo "$SVN_MKPATH 저장소 생성완료"
cd $SVN_MKPATH/conf
echo "$(pwd) 수정 중..."
# $SVN_PATH/passwd 에 svnbot 있는지 체크하는 if 문 있으면 더욱 좋음
echo "svnbot=svnbot" >> $SVN_PATH/passwd
rm passwd
ln -s $SVN_PATH/passwd passwd
sed -i "s/# auth-access = write/auth-access = write/g" svnserve.conf
sed -i "s/# auth-access = read/auth-access = write/g" svnserve.conf
sed -i "s/# password-db = passwd/password-db = passwd/g" svnserve.conf
echo "$(pwd) 수정 완료..."
cd $SVN_MKPATH
echo "trunk 폴더 생성중"
svn mkdir -m "trunk creat" --username=$SVNBOT_ID --password=$SVNBOT_PASS --non-interactive --force-log $SVNHOST/$1/trunk
echo "branches 폴더 생성중"
svn mkdir -m "branches creat" --username=$SVNBOT_ID --password=$SVNBOT_PASS --non-interactive --force-log $SVNHOST/$1/branches
echo "tags 폴더 생성중"
svn mkdir -m "tags creat" --username=$SVNBOT_ID --password=$SVNBOT_PASS --non-interactive --force-log $SVNHOST/$1/tags
echo "전체 폴더 생성완료"
echo "저장소 생성이 완료되었습니다."
cd $currPath