Leopard에는 subversion이 기본적으로 설치되어있다.
Tiger때에는 무척이나 복잡 (Getting Control with Subversion and Xcode) 했었는데, Leopard에서는 그리 어렵지 않게 Subversion 서버를 사용할 수 있게 되었다.
집의 Leopard를 홈서버 격으로 Subversion 서버로 설정하였고, Know-How를 공유하고자 한다.
1) root 계정 활성화
2) Subversion Repository 생성
3) 자동실행 Script 작성
4) Start-up Item 등록
5) Client 사용
1. root 계정 활성화
- Application > Utilities에서 “Directory Utility”를 실행하여, “Edit > Enable Root Password” 를 클릭하여 root 패스워드를 등록한다.
- Terminal을 열어서 “su” 명령어를 통해 root 계정으로 login한다.
$su
앞서 등록한 root 패스워드를 입력하여 root 계정으로 로그인 한다.
2. Subversion Repository 생성
1) Repository 생성
우선 Root Repository를 생성해야 한다. (여기서는 /data1/svn을 Repository root로 설정한다. 사용자 환경에 맞추어 변경하세요.)
#mkdir /data1/svn
#cd /data1/svn
#svnadmin create –fs-type fsfs project
이렇게하면 /data1/svn에 project directory 및 기본적으로 하위 디렉토리들이 만들어 진다.
인증/보안을 위한 몇가지 옵션을 설정해 주어야 한다.
2) 기본적인 환경 설정
#vi /data1/svn/project/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
기본적으로 anonymous access 불가, 인증 성공한 사람만 write권한, 인증방식은 passwd 파일 방식
#vi /data1/svn/project/conf/passwd
[users]
userid1=password1
userid2=password2
접속을 허용할 userid 및 password를 기재해주면 된다.
3. Subversion서버 자동실행 Script 작성
- Subversion Daemon을 실행시키기 위한 초기 작업으로 구동 script 작성
#mkdir /data1/script
#vi /data1/script/subvershion.sh
————————————————————————————————–
/usr/bin/svnserve -d -r /data1/svn
————————————————————————————————–
#chmod 755 /data1/script/subvershion.sh
4. Start-up Item 등록
- Leopard가 재부팅될 시 자동으로 Subversion Daemon 구동 script를 실행시키기 위해 Start-up Item 등록
#vi /Library/LaunchDaemons/com.subversion.launchd.plist
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.subversion.launchd</string>
<key>ProgramArguments</key>
<array>
<string>/data1/script/subvershion.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
#chown root:wheel /Library/LaunchDaemons/com.subversion.launchd.plist
이후 Rebooting 하면 Subversion이 떠 있는걸 확인할 수 있다. ( ps -ef | grep svnserve )
5. Client 사용
1) OSX terminal
Terminal명령어로 Subversion을 사용하기 위해서는 환경 변수 설정이 필요한데 다음과 같다.
$cd ~
$vi .bash_profile
————————————————————————————————–
SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR
————————————————————————————————–
2) OSX GUI
- zigVersion : http://zigzig.com/
- svnX : http://www.apple.com/downloads/macosx/development_tools/svnx.html
- Versions : 아직 출시되지 않았지만 Disco를 제작한 madebysofa에서 Versions라는 SVN GUI client 제품을 개발하고 있고, 조만간 출시될 예정이라고 함.
3) Windows version
- Tortoise : http://blog.empas.com/mcchae/19118563 에 설명된 Tortoise 참조.
Subversion 참고 Reverence






