2009. 4. 3.

CVS 세팅 작업

1. 저장소 만들기.

# cvs -d /home/hotyoung/cvs/ init
# chgrp -R cvs /home/hotyoung/cvs/
# chmod -R g+w /home/hotyoung/cvs/

* 여기서 hotyoung 디렉토리에 대해서 cvs group 이 읽고 실행할 수 있는 권한을 부여해야 한다.



2. 새로운 프로젝트 시작.

cvs import -m "[Message]" [project name] [project leader name or group] start

- "test" 란 이름의 프로젝트를 시작할 경우.



# cvs import -m "test project" test my-test start

- 주의할 점은 이미 프로젝트가 있는 경우에 기존에 있는 프로젝트 파일이 지워진다는 것이다.



3. 프로젝트 작업 공간 생성.

cvs checkout [project name]

- "test" 란 이름의 프로젝트의 작업공간을 생성할 경우.

# cvs checkout test

- 이 때 주의할 점은 현재의 디렉토리에 쓰기 권한이 있어야 한다.
- test 란 디렉토리가 생성되고 프로젝트의 모든 소스와 CVS 디렉토리가 생성된다.



4. 작업 내용 저장.

cvs commit -m "[message]" [file name]

# cvs commit -m "test3" ex1.c



5. 저장소에서 파일 가져오기.

cvs update

# cvs update



6. 파일 추가

cvs add [file name]

# cvs add ex2.c

--> 실제로 저장소에 저장되기 위해서는 commit 명령을 사용하여야 한다.

문서가 아닌 바이너리를 넣을 경우에는 -kb 옵션을 준다.

# cvs add -kb test.gif



7. 파일 삭제

cvs delete [file name]

# cvs delete ex2.c

--> 실제로 저장소에 저장되어 있는 파일을 지우기 위해서는 commit 명령을 사용하여야 한다.



8. 작업 기록 보기

cvs log [file name]

# cvs log ex1.c



9. Remote 에서 사용하는 방법.

9.1. 환경 설정.

- ".bash_profile" 에 아래의 라인을 추가한다.

# for CVS
CVSROOT=/home/hotyoung/cvs
export CVSROOT

CVS_RSH=ssh
export CVS_RSH

- 위에서 설정한 환경이 적용되도록 한다.



9.2. 새로운 프로젝트 시작.

cvs -d :ext:[user id]@[cvs server name or ip]:[cvs directory] import -m "[Message]" [project name] [?] start

- "test" 란 이름의 프로젝트를 시작할 경우.

# cvs -d :ext:hotyoung@192.168.2.201:/home/hotyoung/cvs import -m "test project" test my-test start



9.3. 프로젝트 작업 공간 생성.

cvs -d :ext:[user id]@[cvs server name or ip]:[cvs directory] checkout [project name]

- "test" 란 이름의 프로젝트의 작업공간을 생성할 경우.

# cvs -d :ext:hotyoung@192.168.2.201:/home/hotyoung/cvs checkout test

- 이 때 주의할 점은 현재의 디렉토리에 쓰기 권한이 있어야 한다.
- test 란 디렉토리가 생성되고 프로젝트의 모든 소스와 CVS 디렉토리가 생성된다.


10. 파일에 CVS 관련 자료 남기기
- 파일에 아래와 같은 사항을 넣어주면 된다.
$Id$
$Date$
$Revision$
$Log$

11. Snapshot 생성하기
- A 라는 프로그램이 a.c, b.c, c.c 라는 소스 파일로 구성되어 있을때 현재의 파일 들에게 REL_1_0 이라는 꼬리표를 붙인다.

# cvs commit
# cvs tag REL_1_0

12. Snapshot 에서 꺼내오기
- 이후 A 프로그램의 Version 1.0 은 계속 개발이 진행되더라도 REL_1_0 꼬리표를 사용해서 CVS 저장소로부터 꺼낸다.

# cvs co -rREL_1_0 prog_a

이제 prog_a 디렉토리에 REL_1_0 에 대한 소스코드가 존재한다.

13. 해당 버전의 파일 가져오기.

# cvs update -p -r 1.4 test.c > filename1.c


14. 현재 최종 번호를 확인하기.

# cvs status -v test.c

15. 일정 시간에 변경된 파일 리스트 보기.

변경된 사항을 보기 위해서는 history -report 기능을 사용하여야 하고, 특정
기간을 입력하기 위해서는 -D 옵션을 주어야 한다. 즉, 이틀전에 변경된 파일의
리스트를 보기 위해서는 아래와 같이 실행하면 된다.

# cvs history -report -c -D "2 days ago"

--> 이는 자신의 history 만 보여준다...

댓글 없음: