Transcript CVSNT와TortoiseCVS
Windows NT 기반하에서의 CVS 설치 및 운용
CVS
작성일시 : 05.01.17
작 성 자 : 홍 만 기
1 CVS 란?
CVS (Concurrent Versions System ) 는 소스버전관리시스템이다. 이름에서 알 수 있듯 각종 파일의 버전을 쉽게 관리할 수 있도록 도와주는 도구이며 특히 동시에 여러 명이 하나의 프로그램을 공동으로 개발할 경우 유용하다.
참고 URL : 관련문서 : http://doc.kldp.org/wiki.php/DocbookSgml/CVS-KLDP 관련문서 : http://doc.kldp.org/wiki.php/DocbookSgml/CVS_Tutorial-KLDP CVSNT 공식 사이트 : http://www.cvsnt.org
설치 가이드 : http://www.cvsnt.org/wiki/InstallationTips
2 CVS 운영환경
CVS Server and Client
Windows NT/2000/XP/2003 Mac OS X v10.2.6-10.3.x Red Hat RPM Sun Solaris 64 bit HPUX 11i (64 bit) IBM iSeries (OS/400) 출처 : www.cvsnt.org
CVS
CVS
3 CVS 구성
CVS Server
(
CVSNT ) Commit, Update SOURCE ...
CVS Client1 ( TortoiseCVS ) 개발팀장 SOURCE1 CVS Client2 ( TortoiseCVS ) 개발자1 SOURCE2 CVS Client3 ( TortoiseCVS ) 개발자2 SOURCE3 ...
4 CVSNT 설치
개요 : CVSNT는 Windows NT(NT,2000,XP,2003…) 기반하에서 작동하는 CVS 서버 시스템이다. 4.1 CVSNT 다운로드( www.cvsnt.org
) 4.1.1 홈페이지 접속 후 상단의 download 메뉴 클릭 4.1.2 각 항목 선택 후 다운로드. 다운로드시 서버 환경에 따라 아래 항목 선택 * Which Product – CVS Server and Client for Win NT/2000/XP/2003 * Which plotform- Windows NT4/ 2000/ XP/2003 # 2005.01.10 현재 버전 : cvsnt-2.0.58d.exe
4.2 설치 전 주의사항 CVSNT 는 반드시 로컬 디스크 드라이브(C:, D:, E:,...) 에 설치해야 한다.
(네트워크 드라이브에 설치시 문제가 발생할 수 있다.) CVS 의 Repository 모듈이 있는 디스크는 NTFS 파일 시스템이어야 한다.
기존에 CVSNT가 설치되어 있는 경우 기존의 CVSNT 를 언인스톨한 후 설치해야 한다. 4.3 작업용 폴더 생성 1. 소스 관리 폴더 : CVSRepository등의 이름으로 작성 2. CVS용 임시 파일 경로 : cvstemp 등의 이름으로 작성 CVS
4
4.4 설치
1 2 3
CVS
4 4
Full installation CVS
5
4
CVS 버전에 따라 차이가 있다.
6 7 8 Setup
이하 계속 다음을 선택하여 설치를 종료한 후 시스템을 재부팅한다.
4 9 Path 설정
1. 윈도우의 “시작”버튼 -> “실행” 명령을 선택한 후 ‘cmd’를 입력하여 DOS화면을 띄운다. 2. ‘cvs’ 를 입력해서 화면에 Usage 등의 도움말이 뜨는지 확인 한다.
3. 오류가 날 경우 “ 윈도우의 시스템 등록 정보 -> 고급 -> 환경변수”의 Path 항목에 CVSNT가 설치된 경로를 추가해 준다. CVS 시스템변수의 Path 변수에 경로를 추가해 준다.
5 CVSNT 설정
5.1 ‘시작’버튼 -> CVSNT -> Service Control Panel 항목을 선택한다.
CVS
5 CVSNT 설정
5.2 다음 "Repositories” 탭으로 가서 Add” 버튼을 누르고 CVS 자료를 저장할 디렉토리를 지정해 준다.
5.3 “Advanced” 탭에서 상단 메뉴의 두항목에 체크를 한다. CVS Repositories 설정화면 Advanced
CVS
5 CVSNT 설정
* Repositories생성에서 오류가 날 경우 일단 ‘확인’ 으로 경고창을 빠져 나온 후 CVS Service, CVS Lock Service 를 Start 하고, cmd.exe 을 실행한 후 오류시 경고 아래에 나온 명령어를 입력해서 수동으로 처리하도록 한다. 수동입력시에도 오류가 날 경우 환경변수의 Path설정이나 Advance등의 옵션을 확인한다. *참고 : CVS의 프로토콜 : pserver sspi ntserver 기타 ssh, ssl 암호인증서버방식. 윈도우의 계정을 이용함 윈도우인증, 방화벽이 있을 시 사용. 로그인 없이 사용할 수 있음 명명된 파이프 방식
CVS
5 CVSNT 설정2
5.6 sspi 프로토콜 방식 CVSNT 를 설치한 컴퓨터에서 cmd.exe 를 실행하고 다음을 입력한다. $> set cvsroot=:sspi:[서버도메인or IP]:/[리퍼지터리경로] sspi의 경우 혼자서 사용할 때 많이 사용하는 프로토콜이다. 서버도메인 or IP의 경우 로컬인 경우 127.0.0.1, localhost 등을 입력하고 발급받은 ip가 있는 경우 해당 ip나 도메인 등을 입력한다. Repository경로의 경우 4.3에서 Add repository에서 name항에 입력한 경로를 입력한다. $> set cvsroot=:sspi:127.0.0.1:/cvs_repository $> cvs ls Listing modules on server CVSROOT 입력한 set 명령이 잘 입력되었고, 설치시 오류가 없었다면 Cvs ls 명령 입력시 cvs 서버의 해당경로내 디렉토리들이 리스팅 된다. sspi의 경우 비밀번호 입력없이 로컬에서 혼자 사용할 때 사용하는 방식.
5 CVSNT 설정2
5.7 pserver 프로토콜 방식 pserver 방식은 인가된 id, password로 여러 개발자가 동시에 접속하여 이용하는 방식이다.
최초에 서버 사용자로 등록을 한 후 추가로 사용자를 계속 등록할 수 있다. 등록된 계정은 Repository의 하위 디렉토리인 CVSROOT에 passwd라는 파일로 저장된다. $> cvs passwd -r [서버계정ID] -a [CVS용ID] $> set cvsroot=:[프로토콜]:[CVS용ID]@[도메인]:/[리퍼지터리경로] CVS $> cvs passwd -r Administrator -a newid Adding user [email protected]
New password: ******* Verify password: ******* $>set cvsroot=:pserver:[email protected]:/cvs_repository * 일반적으로 cvs passwd 명령을 사용하기 전에 cvs login 을 하면 현재 root 사용자 id를 알 수 있다.
5 CVSNT 설정2
5.8 접속 테스트 $> cvs login Logging in to :pserver:[email protected]:2401:/cvs_repository CVS password: ******* $> cvs ls Listing modules on server CVSROOT 현재 접속한CVS서버의 Repository 상의 모듈을 보여준다.
• cvs ls –l –R 명령을 입력하면 Repository 내 모든 파일의 목록을 볼 수 있다. CVS
6 CVS Client
WinCVS
http://www.wincvs.org
TortoiseCVS
http://www.tortoisecvs.org
ExamDiff Pro
http://www.prestosoft.com/ps.asp?page=edp_examdiffpro CVS
CVS Client TortoiseCVS
http://www.tortoisecvs.org
CVS
기본메뉴(폴더선택시)
CVS
기본메뉴(파일선택시)
CVS
7 새 모듈 생성
1 모듈 CVS Server CVS Local CVS
7 새 모듈 생성
CVS
8 파일추가
CVS
8 파일추가
CVS
8 파일추가
CVS
8 체크아웃
CVS 관리자가 아닌 사용자가 CVS 를 사용함에 있어서 첫번째 접하는 메뉴가 체크아웃이 다. 체크아웃이란 서버의 모듈(=프로젝트)을 한꺼번에 다운로드 받는 것을 말한다.
먼저 계정정보를 입력한 후 “목록가져오기”버튼을 눌러 서버의 모듈 목록을 확인후 본인이 받을 모듈을 선택하고 “확인” 버튼을 눌러 다운로드 받으면 된다. 체크아웃은 탐색기에서 하드디스크를 선택해서 들어간 후 빈 영역에서 선택하면 드라이브 루트에 모듈명이 생성되면서 다운로드 받게 된다. 모듈 CVS Server CVS Local 2 1
CVS
8 체크아웃
체크 아웃 명령이 실행되면 암호 입력란이 뜨고 관리자에게 지정받은 계정의 암호를 입력하면 모듈 다운로드가 시작된다.
8 체크아웃
CBAM 프로젝트 계정 : CVS 프로토콜 : 암호인증서버 pserver 서버 : 192.168.1.166
포트 : 2401 저장소폴더 : /CVS_REPO 사용자명 : mnd 암호 : mnd
CVS
9 Commit
커밋은 수정한 파일을 업로드 하는 명령어이다. 먼저 오렌지색 아이콘으로 표시되는 수정된 파일을 선택 후 마우스 오른쪽 버튼을 누르면 “CVS 커밋” 이란 메뉴가 나타난다. 커밋할 파일 선택
9 Commit
소스 CVS Server CVS Local 커밋명령실행 CVS
9 Commit
커밋은 파일을 수정하는 행위이므로 다른 사람이 이해할 수 있는 간략한 코멘트를 남길 수 있다. 코멘트가 없을 경우 확인을 클릭하면 된다. CVS 코멘트 작성 만일 다운받은 버전보다 상위버젼에 다시 업로드 되어 있을 경우 오류가 발생한다. 이 때는 먼저 리비젼 그래프나 히스토리를 참고한 후 CVS 비교 메뉴(마지막페이지에서 소개)를 이욯하여 수정, 커밋 하여야 한다.
9 Commit
커밋이후 모습 CVS
10 Update
소스 CVS Server CVS Local CVS 업데이트는 서버의 소스를 내려 받는 행위이다. 업데이트는 일 부 파일 혹은 폴더 단위로 실행 할 수 있다. 예를 들어 사용자가 Attack 폴더의 갱신된 내역을 전 부 업데이트 하고자 한다면 attack 폴더에서 마우스 오른쪽 버튼을 누른 후 “CVS업데이트” 를 실행하면 된다. 이 때 본인이 수정한 후 커밋하 지 않았을 경우 본인이 수정한 소스는 사라지게 된다.
CVS
11 히스토리와 리비젼 그래프
히스토리와 리비젼 그래프는 유사한 의미로 보여진다. 다만 히스토리는 텍스트로 열거되는 반면 리비젼 그래프는 트리 형태로 각 버전과 파생되는 하위버젼을 볼 수 있다는 점이 다르다. 본인이 현재 수정중인 버전이 최종인지 확인 할 떄 히스토리나 리비전 그래프를 보면 현재 최종버전과 자신이 수정 중인 버전의 명세가 나타난다. tt.Txt 파일의 리비젼 그래프 확인 현재 1.2가 나와있고 본인의 버전은 1.1(굵게표시)임을 알 수 있다. 참고 : CVSNT의 버전은 내용이 있는 파일 업시 1.0 부터 시작하여, 1.1,1.2,1.3~1.9 에서 1.10, 1.11, 1.12 순으로 리비젼 된다.
CVS
12 Diff 와 Merge
TortoiseCVS에서 비교(Diff)와 머지(Merge)기능을 사용하려면 외부프로그램을 이용해야 한다. Diff란 서버와의 소스의 상이점을 보여주는 기능이며 머지는 Word의 머지와 같은 기능이다.(CVS서버에서 여러사용자들의 동시 커밋시 실행되는 자동 머 지와는 다른 개념.) WinMerge 2.2는 비교와 머지 기능을 동시에 수행할 수 있는 에디터이다.
WinMerge 설치시 TortoiseCVS와의 연계성 여부를 묻는 옵션이 나타나는데 ‘V
’
체크를 하면 TortoiseCVS에서 비교와 병합 외부툴이 자동으로 WinMerge로 세팅된다.
- 끝 -
CVS