본문 바로가기

Develop

CVS 설정하기

많은 개발자들께서 CVS에 대해서 들어보셨을 겁니다. 장기적인 프로젝트 관리를 위해서 필요한 유틸리티지만, 설정 방법이 까다롭고 사용하려면 배워야 하기때문에 꺼려하고 있습니다. 그런분들에게 조금이나마 이 문서가 도움이 되기를 바라며 정리해 보았습니다.

설치
대부분의 네트워크 서비스들이 그러하듯 CVS도  C/S(Client/Server) 형태로 이루어져 있습니다. 그래서 cvs를 이용하기 위해서는 서비스를 제공하는 Server, 그리고 사용하는 Client로 구분되어져야 합니다.

아래의 명령을 통해서 cvs 클라이언트를 설치할 수 있습니다.
sudo apt-get install cvs

그리고 아래 명령을 통해서 cvs Server를 설치할 수 있습니다.
sudo apt-get install cvsd

cvs Server 설치중 Repository를 위한 프롬프트가 나타나는데, 저는
 “/cvsrepo” 라고 입력했습니다.

설정
 /var/lib/cvsd 를 cvs 루트 디렉터리로 설정합니다.
sudo cvsd-buildroot /var/lib/cvsd

Repository로 쓰일 디렉터리를 만듭니다.
sudo mkdir cvsrepo

만들어진 디렉터리를 cvs 유저가 사용할 수 있도록 그룹, 사용자를 설정합니다.
sudo chown -R cvsd:cvsd cvsrepo

그 디렉터리를 cvs 서비스 가능하도록 초기화 합니다.
sudo cvs -d /var/lib/cvsd/cvsrepo  init

아래의 명령은 특히 중요합니다.
cvs의 사용자를 설정을 하는 과정은 두가지가 있습니다. 첫째는 리눅스나 윈도우 등의
OS 사용자 계정을 그대로 사용하는 것이고, 두번째는 별도로 cvs를 위한 사용자 계정을 만드는 것입니다.
저는 두번째 방법으로 진행하겠습니다. 이 방법으로 진행하려면 두가지 과정이 필요합니다.
첫째 사용자 추가,
둘째 시스템에게 OS의 계정이 아닌, cvs의 계정을 사용하겠다고 명시입니다.

아래 명령을 통해서 첫번째 과정을 진행할 수 있고,
sudo cvsd-passwd /var/lib/cvsd/cvsrepo +username

CVSROOT/config 에서 설정을 함으로써 두번째 과정을 마칠수 있습니다.
기본적으로 config 파일이 read only로 되어 있기때문에 수정을 하려면
쓰기를 허용해야 했습니다. 그리고 다시 원래대로 돌려주었습니다.

sudo chmod 666 cvsrepo/CVSROOT/config
sudo vi cvsrepo/CVSROOT/config
#Change "SystemAuto=no" // 에서 주석 제거
Change "SystemAuto=no"
sudo chmod 444 cvsrepo/CVSROOT/config


시험
cvs -d :pserver:username@localhost:/cvsrepo login

cvs -d :pserver:username@localhost:/cvsrepo checkout

반응형