2005년 4월 16일 토요일

[펌] Window CVS 설정

[CVS]윈도환경에서 CVS


[주의사항]
로컬디스크 사용할 것.
Repository는 NTFS 사용할 것.
Administrator에서 작업할 것.
c:\WINNT\Temp 나 C:\Documents and Settings디렉토리는 사용하지 말 것.


[서버설정]

- CVSNT를 다운로드/설치한다.
http://www.cvsnt.com/cvspro/

- 버젼: 2.5.01.1927


- Repository 와 temp 디렉토리를 만든다.

D:\>mkdir cvsrepo

D:\>mkdir cvstemp


- 프로젝트별 루트디렉토리를 만든다.

D:\>mkdir cvsrepo\test1


- CVSNT Control Panel 을 실행한다.
참고) 명령프롬프트 > cvsnt.cpl

- CVS Service, CVS Lock Service를 중지시킨다.

- Reppositories 탭에서 프로젝트의 root를 설정한다.

> Add > Location > D:/CVS/cvsrepo/test1
 > Name > /test1

- Server Settings 에서 temporary 를 D:\CVS\cvstemp 로 선택, CVS Server = 2401, Lock Server = 2403
참고) Lock Server가 시작이 안되면 이벤트 뷰어에서 에러 체크한다. 일반적으로 포트 충돌일 경우 에러난다.

- 설정 완료되면 Service status 에서 CVS Service, CVS Lock Service Start 한다.

 

[CVS사용자 추가]
pserver나 sserver를 사용할 때만 사용가능한 옵션이다.

D:\>set cvsroot=:sspi:127.0.0.1:/test1

주의) 공백이 들어가면 안된다.

D:\>cvs passwd -r komm -a komm   -r은 실제 윈도사용자이고 -a은 alias이다.
Adding user komm@127.0.0.1
New password: **********
Verify password: **********


이러면, CVSROOT/passwd 파일이 생성된다.


[연결테스트]

D:\>set cvsroot=:pserver:komm@127.0.0.1:test1

D:\>cvs login
Logging in to :pserver:kang@192.168.0.1:2401:/test
CVS password: **********

D:\>cvs ls -l -R
Listing modules on server

-----------------------------------------------------------------
Directory CVSROOT

checkoutlist                    1.1     Sun May  4 13:25:05 2003
commitinfo                      1.1     Sun May  4 13:25:05 2003
config                          1.1     Sun May  4 13:25:05 2003
cvsrc                           1.1     Sun May  4 13:25:05 2003
cvswrappers                     1.1     Sun May  4 13:25:05 2003
editinfo                        1.1     Sun May  4 13:25:05 2003
historyinfo                     1.1     Sun May  4 13:25:05 2003
loginfo                         1.1     Sun May  4 13:25:05 2003
modules                         1.1     Sun May  4 13:25:05 2003
notify                          1.1     Sun May  4 13:25:05 2003
postcommit                      1.1     Sun May  4 13:25:05 2003
rcsinfo                         1.1     Sun May  4 13:25:05 2003
taginfo                         1.1     Sun May  4 13:25:05 2003
verifymsg                       1.1     Sun May  4 13:25:05 2003

Directory CVSROOT/Emptydir
-----------------------------------------------------------------


[기본적인 사용 방법]

- 기본형식
------------------------------------------------------
$ cvs [cvs 옵션] 명령 [명령 옵션과 인자]
------------------------------------------------------


1. 로그인
> cvs -d :pserver:komm@127.0.0.1:/test1 login

 

2. 저장소에 새 프로젝트 만들고 현제디렉토리의 내용 저장: (로컬 -> CVS)
> cd myProj
> cvs import -m "NEW PROJECT" myProj swisco ver1

: CVS 저장소에 myProj 라는 디렉토리 만들고 현제 디렉토리내의 파일을 복사하게 된다.

주의) 현제 디렉토리의 내의 폴더, 파일들이 모두 복사된다.
주의) 한글은 깨지고 import시 오류 나므로 주의한다.


3. CVS의 데이타를 가져오기(CVS -> 로컬)
> cvs checkout myProj 
: 서버의 myProj내의 내용을 로컬로 가져온다.
주의) 현제 작업경로에 myProj 폴더가 만들어지고 내용이 추가된다.


4. CVS에서 가져온 데이타 수정후 다시 서버로 보내기(수정된로컬파일 -> CVS)
> cd myProj
> hellow.java 수정함~
> cvs commit -m "주석추가" hellow.java

------------------------------------------------------
Checking in Hello.java;
/home/cvs/myprj/Hello.java,v  <--  Hello.java
new revision: 1.2; previous revision: 1.1
done
----------------------------------------------


5. 서버의 내용 받아오기(저장소에서 다른사람이 변경한 내용 받아오기 CVS->로컬)
> cvs update

----------------------------------------------
cvs update: Updating .
M Hello.java
----------------------------------------------
참고) 여기서 M은 서버와 로컬의 내용이 다를경우 나타난다.


6. 파일의 추가
> 현재디렉토리에 파일 하나 추가. hellow.cpp
> cvs add hellow.cpp # 단지 파일 추가 스캐쥴만 되어있고 실제 등록하려면 commit 해야함
> cvs commit -m "hellow.cpp add" hellow.cpp


7. 파일의 삭제(CVS의 파일삭제)
> del hellow.cpp
> cvs delete hellow.cpp
> cvs commit -m "delete hellow.cpp" hellow.cpp
> cvs update

주의) 반드시 로컬삭제 -> cvs delete -> cvs commit 의 순서를 따라야 된다.


8. 디렉토리 내용확인
> cvs ls -l -R

9. 파일의 작업기록 확인
> cvs log hellow.cpp


 

댓글 없음:

댓글 쓰기