CVS NT 설치

CVSNT 2.5.02 (Servalan) Build 2115윈도우 XP 설치를 대상으로 함
2005년 10월 19일 작성


1 CVS 설치 #

http://www.march-hare.com/cvspro/
에서 다운받는다. (좌측하단의 Free download 에서 필요한 항목을 선택하고 기타정보를 적어주고 그 하단의 Accept term 을 클릭)

cvsnt-2.5.02.2115.msi 를 다운받았다면 설치를 시작.
설치 옵션중 Completet 로 설치하는게 속편하다.

설치후에 리부팅하라고 하는데 하는게 좋다.


2 CVS 설정 #


CVS에서 사용할 디렉토리를 설정해줘야 한다.
Repository 라는 영역과 Temporary 라는 영역을 설정해 줘야 하는데 Temporary는 일반적인 임시파일을 쓸 경로로 지정해주면 되고 Repository는 CVS서버 하위의 저장공간이라고 생각하면 된다.(각각의 Repository는 독립적인 경로를 가지게 되며 하위에 여러가지 모듈을 가지며 로그인 가능한 사용자등도 따로 가지게 된다.)






주의 Repository 와Temporary는 C:\Documents and Settings\ 하위 디렉토리에 설정을 하면 안된다.
(권한 관련한 문제가 생김)


이제 CVS Conrtol Panel을 실행시켜  우선 CVSNT Service와 CVSNT Lock Service 를 멈춰준다.
사용자 삽입 이미지
Server Settings 탭으로 이동한후  Temporary를 설정해 준다.
사용자 삽입 이미지
Repository configuration 탭으로 이동후 
사용자 삽입 이미지
Location 에 적당한 폴더를 설정한다.
Name 의 경우 외부에서 CVS에 접속을 할때 Repository를 선택할수 있는 이름을 나타낸다.


3 사용자 추가 #

이제 CVS의 각 Repository에 접속가능한 유저계정을 생성해야 한다.
이것은 윈도우의 계정을 설정할수도 있고 하나의 윈도우 계정을 사용하는 자체 cvs 계정을 생성할수도 있다.
물론 실제로 사용되는 윈도우 계정이 위에서 설정했던 디렉토리에 접근권한이 있어야 한다.

Administrator 를 cvs에서 사용하는 윈도우 계정으로 하고 사용자 계정을 만들어보면

윈도우의 시작 -> 실행 에서 cmd 를 입력하고 엔터를 눌러 커맨드 창을 띄운다.
프롬프트에서 cvs를 입력해 본다.
여기서 실행파일을 찾을수 없다는 메세지가 나오면 CVSNT를 설치하면서 정상적으로 PATH가 설정되지 않은 경우다. 이 경우는 환경변수(제어판->시스탬->고급->환경변수)의 PATH에 CVSNT가 설치된 디렉토리를 추가 시켜준다.

cvs에 정상적으로 접근을 하기위해서는 CVSROOT 라는 환경변수가 설정이 되어있어야 하므로 프롬프트 창에서
set CVSROOT=:pserver:Administrator@127.0.0.1:/SSA

를 입력한다. 위의 127.0.0.1 이 접속하려는 서버의 주소다.
그 앞의 Administrator 가 접속하려는 계정이고 가장 뒤의 /SSA는 위에서 설정해준 Repository 의 이름이다.

이제 로그인을 위해서 프롬프트 창에
cvs login

을 입력하고 해당계정의 패스워드를 입력한다.
정상적으로 로그인이 되면 아무메세지 없이 프롬프트로 돌아오며 이제 유저를 추가하면 된다.
cvs passwd -r Administrator -a yoway

을 입력하면 yoway 라는 계정을 추가하게 되며 CVS로 yoway 라는 계정으로 user가 로그인을 하면 윈도우의 Administrator 계정을 사용해서 CVS서버내의 리소스 접근권한을 제어하게 된다.
사용자 삽입 이미지



3.1 admin 권한주기 #

Repository 로 설정한 디렉토리의 CVSROOT 디렉토리 안에 admin 파일을 생성하고 각 줄에 하나씩 아이디를 적어주면 해당 아이디가 admin 권한을 가지게 된다.

4 첨언 #



  • Repository 는 각각이 source safe 에서 하나의 서버라고 생각하면 된다. 각각의 Repository 는 서로 다른 유저계정을 관리하므로 서로다른팀, 완전히 독립된 프로젝트 등을 하나의 Repository 로 구분하는것이 좋다.
  • 설치해서 Repository 를 설정하고 유저를 추가하는것 까지만 해두면 나머지 실제 모듈을 생성하고 소스를 올려두는것은 클라이언트 단에서 처리가 가능하다. 괜히 비어있는 Repository 에 소스를 올리고 할 필요는 없다.
  • 방화벽이 있으면 외부에서 CVS에 접속을 할수가 없으므로 TCP 2401포트와 2402포트를 열어둬야 한다.

5 참고할 URL #

CVS 사용법
http://www.joinc.co.kr/modules/moniwiki/wiki.php/article/cvs%B8%A6_%C0%CC%BF%EB%C7%D1_%C7%C1%B7%CE%C1%A7%C6%AE%B0%FC%B8%AE

Tortoise CVS

오늘은… Tortoise CVS 를 깔아서 gcc를 체크아웃 해보기 위해서 초 삽질…

http://gcc.gnu.org/cvs.html 에 가보면
Set CVSROOT in your environment to :ext:anoncvs@savannah.gnu.org:/cvsroot/gcc. Alternately add -d :ext:anoncvs@savannah.gnu.org:/cvsroot/gcc immediately after cvs in the commands below.

라는 문장이 있다. 음… 그니깐 CVSROOT에 저 문자열을 넣으란다.
Tortoise CVS 를 깔고나서..
‘자 이제 어떻게 체크 아웃을 받아야 하나?’
하면서 유저가이드를 뒤적뒤적…
…윈도우에 빈폴더 하나 만들고 오른쪽 클릭한다음에 체크아웃하고, 나오는 대화상자의 CVSROOT에 위에 문자열 집어넣고 module 란에 gcc라고 넣은 다음 확인을 하는 그 초 간단한 작업을 못해서 약 한시간동안 삽질.

“크앙 새 모듈만들기가 안되~”
“실패 할때마다 나는 챙그랑 소리 지겨워~”

음… 가이드의 문제점은 읽어도…단어자체가 익숙치가 않아서 감이 안온다 -_-;;

뭐 그래도 지금은 열심히 받는중~
그나저나 예전에 그냥 웹에서 C언어 기본라이브러리 소스볼수 있는 곳이 있었던것 같은데 기억이 안난다. 어디서 봤었지…
자 strcmp가 어떻게 구현되어 있는지 한번 구경해 보자~