관리 메뉴

nkdk의 세상

서브버전(Subversion , SVN) 을 사용하기 위한 몇가지 방법 본문

My Programing/ETC

서브버전(Subversion , SVN) 을 사용하기 위한 몇가지 방법

nkdk 2008. 3. 10. 23:05
개발자들에게는 소스관리란 필수적인 요소가 되었다.
소스 버전 관리를 위한 툴이 많은데, 가장 많이 쓰이는 것은 CVS , SVN 이다.

여기에서는 SVN(서브버전)을 사용하는 방법을 정리한다.

# 개발환경은 여러가지가 될 수 있다.(윈도우, 리눅스 환경등)

1. 윈도우 환경에서 TortoiseSVN 같은 툴을 이용해 윈도우 내에 로컬 Repository 를 만들어서 하는 경우.
(이때 외부에서도 사용가능하게 설정하는 방법이 있을 듯 하지만 생략)

2. 리눅스 환경도 마찬가지, 로컬에 설치하는 경우
3. 한 곳에 버전관리 를 설정해 외부에서 공동으로 사용하는 경우.

소스버전관리 자체가 여러개발자가 공동 소스를 수정,관리 하려는 목적이므로 위 3번의 경우가 대부분일 듯 하다.

어떤 방식으로 할 것인지 결정해야 한다.

# 기본적인 설치

1. 프로그램 설치
apt-get install subversion
  소스관리시 apache 를 이용해 보려면 (WebDAV)
apt-get install libapache2-svn
도 같이 설치.

2. svn 저장소 생성
svnadmin create {저장소path}
 프로젝트 개발시 svn 저장소의 구조가 있다.(일종의 규칙? - branches, tags, trunk 의 용도 참조 )
mkdir /tmp/{project Name}
mkdir /tmp/{project Name}/branches
mkdir /tmp/{project Name}/tags
mkdir /tmp/{project Name}/trunk

svn import /tmp/{project Name} file://{저장소path} -m "initial import"
 TortoiseSVN 의 경우
사용자 삽입 이미지


3. 저장소를 만들었으니, 실제 사용하자. (eclipse , web , TortoiseSVN 등을 이용)
  저장소에 접근해서 소스버전관리를 사용하려 한다.
  접근하는 방법에 따라 조금씩 차이가 있다. 

로컬에 있으면  file://{저장소path}  형태로 접근해서 사용할 수 있다.

WebDav 를 이용해 apache2 를 통해 접근할 수도 있다.
 - http://ssami.tistory.com/117
 - http://lotus.tistory.com/22
 web 이니,  http://{저장소ip}/{저장소path} 형태로 접근

ssh를 이용 svn+ssh://{저장소ip}/{저장소path}  형태로 접근한다.
보안적인 측면에서 ssh 를 이용하니, 많이 사용되는 방법인듯.

cvs도 좋고 svn도 좋지만 cvs는 약간의 버그가 있어서 이것도 좀 내가 많이 쓰는 방식이긴 하다.
보통 다른 사람들은 어떤걸 많이 쓸까?