Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

소개

개인적으로 지금까지 cvs(:12)만을 사용해왔는데, 새로 회사를 옮기면서 본의아니게? SVN을 사용하게 되었다. cvs를 고집하고 싶지만 기존 환경이 SVN이라서 SVN환경에 따라야되는 사태가 발생하게되었다. 풍문을 접해본결과 cvs와 그 개념이 매우 비슷하다고 하니 다행이다. 이 문서는 cvs의 사용법에 어느정도 익숙하다는 가정하에 클라이언트의 입장에서 SVN의 사용방법에 대해서 다루도록 한다.

CVS vs SVN

CVS의 명령에 대응되는 SVN명령을 설명하도록 한다. cvs(:12)에 익숙하다면 쉽게 이해하고 사용가능할 것이다.

저장소 생성

새로운 저장소를 만든다.
CVS Subversion
명령:
$ cvs -d /usr/local/repos init
설명:
프로젝트 파일들을 저장할 새로운 저장소를 만든다. 이 저장소에는 버젼정보를 가진 RCS파일과 설정 스크립트들이 위치하게 된다.
명령:
$ svnadmin create /usr/local/repos
설명:
프로젝트 파일들을 저장할 새로운 저장소를 만든다. 이 저장소에는 BerkeleyDB(:12) 파일과 설정 스크립트들이 위치하게 된다.

Import Data

만들어진 저장소에 새로운 프로젝트를 만들고 이를 초기화 한다. 여기에는 버젼관리를 위한 파일들이 위치하게 된다. myproj라는 프로젝트를 진행한다고 가정하고 비교설명하도록 하겠다.
CVS Subversion
명령:
$ mkdir myproj
$ cd myproj
$ cvs -d /usr/local/repos import myproj/ none start
설명:
cvs 저장소 밑에 myproj 디렉토리를 만들고, 여기에 관리할 파일들을 복사한다.
Commands:
$ svn mkdir file:///usr/local/repos/tags
$ svn mkdir file:///usr/local/repos/branches
$ svn import myproj/ file:///usr/local/repos/trunk
설명:

서비 인스톨

CVS Subversion
설치:
여기에서 설명하기에는 복잡하다.
Explanation:
cvs pserver 프로그램을 이용한다. inetd와 ssh연결을 지원한다.
Commands:
여기에서 설명하기에는 복잡하다.
Explanation:
Apache 2.0.x 서버를 통해서 관리한다.

인증

프로젝트 Check Out

로컬 디스크에 해당 프로젝트의 작업공간을 만들고, 파일을 다운로드 받는다.
CVS Subversion
명령:
$ cvs -d /usr/local/repos checkout myproj
U myproj/foo.c
U myproj/bar.c
설명:
현재 디렉토리에 myproj 디렉토리를 생성한후 프로젝트 파일들을 다운로드 받는다.
명령:
$ svn checkout file:///usr/local/repos/trunk myproj
A  myproj/foo.c
A  myproj/bar.c
설명: