Slik SVN: 윈도우용 커맨드 라인 기반 SVN 클라이언트

요즘 회사들어와서 처음으로 제품 메뉴얼을 작성하고 있습니다. XML 형태로 작성되는 메뉴얼 파일은 SVN을 통해 형상관리 되고 있는데, 윈도우 비스타에 설치한 TortoiseSVN가 자꾸 commit 할때마다 죽어서 대안을 찾던 중에 Slik SVN이라는 것을 발견하게 되었습니다.


간단히 설치만 하면 윈도우 cmd에서 svn 관련 커맨드(svn, svnadmin, …)를 사용할 수 있습니다.

http://www.sliksvn.com/en/download

이런 복잡한 상황을 맞이할때마다 유닉스 기반의 Mac OSX가 그리워지는군요…

Subversion(SVN)의 설치와 사용 (Ubuntu Feisty)

1. 설치

apache2와 svn과 apache2에서 svn을 사용하기 위한 모듈을 각각 설치한다.

sudo apt-get install apache2
sudo apt-get install subversion
sudo apt-get install libapache2-svn

이제 프로젝트 저장소(Repository)를 생성한다. 여기서는 tbpcb라는 프로젝트의 저장소를 /home/svn/tbpcb에 생성하는 것을 기준으로 설명한다.

/home/svn# sudo svnadmin create tbpcb
/home/svn# sudo chmod -R g+sw tbpcb
/home/svn# sudo chown -R www-data:www-data tbpcb

svn의 설정파일을 다음과 같이 편집한다. 예제는 아이디와 비밀번호를 통해 인증을 받아야 svn에 접근할 수 있도록 한다.

sudo vi /etc/apache2/mods-available/dav_svn.conf

<Location /svn/tbpcb>
  DAV svn
  SVNPath /home/svn/tbpcb

  AuthType Basic
  AuthName “Subversion Repository”
  AuthUserFile
/etc/apache2/dav_svn.passwd
   
  Require valid-user
</Location>

dav_svn.conf 파일에서 지정한 인증파일(dav_svn.passwd)에 아이디와 비밀번호를 추가하기 위해 htpasswd2를 사용한다. 여기서는 reshout라는 유저의 아이디와 비밀번호를 dav_svn.passwd에 저장한다. 유저를 추가하고 싶다면 -n 옵션을 써서 출력되는 내용을 dav_svn.passwd에 추가해 주면 된다.

/etc/apache2# sudo htpasswd2 -c -m dav_svn.passwd reshout

2. 사용

svn 저장소에 프로젝트를 처음 올릴 때 (import)

svn import -m “Initial Import” src http://192.168.12.12/svn/tbpcb

svn 저장소에서 프로젝트를 처음 받아 올 때 (check out)

svn co http://192.168.12.12/svn/tbpcb src

작업한 내용을 저장소에 반영할 때 (commit)

svn ci

저장소의 변경사항을 내 작업 공간에 반영할 때 (update)

svn up