본문 바로가기

Programming

WinCVS

1. 개요

OpenSource CVS Client인 WinCVS를 설치하고 사용하는 방법과 여러가지 팁을 소개한다.

2. 필요한 파일 다운로드

3. 기본 창

WinCVS Main Window

  • File Window : File의 CVS동작을 관리한다.
  • Module Treeview : 현재 drive의 module을 표시한다.
  • Shell Window : CVS Command및 Log를 보여준다.

4. 기본 설정

WinCVS를 사용하기 이전에 필요한 기본 정보를 설정한다.

Admin -> Preferences

WinCVS Admin Preference #1

WinCVS에 사용하는 데 필요한 기본적인 설정을 한다. CVS tab의 HOME에는 module을 저장할 folder를 지정한다.

WinCVS Admin Preference #2

WinCVS tab에서는 필요한 외부 program을 등록할 수 있다. WinMerge를 Diff로 사용하기 위해서 External diff에 WinMerge 실행file의 경로를 적어준다. Default Editor에는 사용하기 편리한 Editor의 실행file 경로를 적어준다.

Admin -> Login

WinCVS Admin Login #1

이제 CVS를 사용하기 위해서 CVSROOT를 설정한다. CVSROOT는 CVS 서버에서 사용자가 올린 module을 관리하는 위치를 의미한다. Login에서 설정한 값이 정상적으로 성공하면 Cache되어서 다시 입력할 필요가 없다. CVSROOT를 입력하는 Combobox 옆의 버튼을 누르면 입력 dialog가 뜬다.

WinCVS Admin Login #2

CVSROOT를 입력하기 위한 dialog이다. Protocol은 기본으로 pserver를 이용하고 Repository는 저장소를 의미하는데 서버에서 CVS module이 위치하는 실제 경로를 적어주면 된다. 그리고 Username에는 CVS서버의 id를, Hostname은 CVS서버의 IP나 DNS Name을 적어주면 된다.

WinCVS Admin Login #3

확인을 누르면 password를 입력하라는 dialog가 뜬다. 입력해서 정상적으로 login이 되면 message가 Shell Window에 표시된다.

WinCVS Admin Login #4

Remote -> Create a new Repository

WinCVS Remote Repository #1

서버의 기본 Repository를 설정해 준다. 위에서 Admin->Login에서 했던 것과 동일하게 하면 된다.

5. Check Out (Remote -> Checkout Module)

Server의 module을 Local로 가져온다.

WinCVS Checkout

CVS에 있는 Module을 Local로 가져오기 위해서 Checkout을 한다. Module Name에는 Repository에 있는 module 이름을, Local Folder에는 Checkout을 받을 Local 경로를 적어주면 된다. CVSROOT는 아까 설정했던 것이 Combobox에 List로 있기 때문에 그것을 사용하면 된다. 확인을 누르면 module을 Local로 가져온다.

(Tip) Server에 있는 module의 이름을 잘 모를 때는 server의 module을 검색해서 가져올 수 있는 macro를 사용한다.

Admin -> Admin macros -> Browse Repository Folders를 선택하고 CVSROOT를 설정해 주면 그 중에서 원하는 module을 Check Out 받을 수 있다.

6. Import (Remote -> Import Module)

Local의 module을 Server로 upload 한다.

WinCVS Import #1

Import할 Folder를 선택하고 Import Module menu를 선택하면 먼저 Filter dialog가 나타난다. Filter dialog에서 자동으로 Import할 file의 data 정보를 읽어서 어떤 type으로 올릴지를 결정하게 된다. 별 문제가 없으면 OK를 누르고 문제가 있다면 선택해서 Edit버튼으로 수정한다.

WinCVS Import #2

Filter후에 Import Settings dialog가 나타난다. Repository에는 저장소에 등록할 Module 이름을 적어주면 된다. 그리고 CVSROOT는 위에서 설정한 데로 되어 있을 것이다. 그 외에 Log Meessage에 간단한 메시지를 적을 수 있다. 그리고 확인을 누르면 Server에 Import된다.

7. Update (Modify -> Update)

Server에서 변경된 내용을 Local에 적용한다.

WinCVS Update

Update할 folder나 file을 선택하고 Modify -> Update를 실행하면 Update dialog가 뜬다.

(Tip) Update후에도 directory나 file이 내려오지 않는다면 Create missing directories that exist in the repository를 체크하고 확인을 누른다.

8. Commit (Modify -> Commit)

Local의 변경된 내용을 Server에 저장한다.

WinCVS Commit

Commit할 폴더나 파일을 선택하고 Modify->Commit메뉴를 실행하면 Commit 다이얼로그가 뜬다. Log Message에 변경사항등을 적고 확인을 누르면 Commit이 실행된다.

9. Add (Modify -> Add, Add binary, Add Unicode)

Module에 file이나 folder를 추가한다.

CVS서버의 Module에 file이나 folder를 추가한다. 추가할 file이나 folder를 선택한 후에 Modify -> Add를 실행하면 Module에 file이 추가된다.

Add는 file의 type을 자동으로 check해서 올려주고, Add binary는 binary type으로, Add Unicode는 unicode type으로 올려준다.

10. Remove (Modify -> Remove)

Module의 file, folder를 삭제한다.

CVS Server의 Module에 file이나 folder를 삭제한다. 삭제할 file이나 folder를 선택한 후에 Modify의 Remove를 실행하면 Module에서 파일이 Remove 상태로 바뀐다. 이 상태에서 Commit을 하면 server에서 완전히 삭제된다.

(Tip) 실수로 Remove를 했을 경우, 당황하지 말고 Commit을 하지 않은 경우라면 Remove된 파일이나 폴더를 선택한 후에 Modify->Add를 실행하고 Update를 하면 원상복구 된다.

11. Erase (Modify->Erase 메뉴)

Local의 file이나 folder를 삭제한다.

Local의 file이나 folder를 휴지통으로 이동한다. Remove와 혼동하지 말 것. File이나 folder를 Erase해도 Update하면 다시 받을 수 있다.

12. Diff (Query -> Diff)

현재 Local의 파일과 CVS Server의 file을 비교해서 다른 부분을 보여준다.

WinCVS Diff

현재 Local과 CVS서버의 file을 비교해서 보여준다. Compare에서 현재 CVS의 최신 version의 file과 비교할 지 아니면 그 이전의 version과 비교할 지를 정할 수 있다. 그리고 Use the external diff를 체크하면 외부 diff 프로그램인 WinMerge로 Diff가 실행이 된다. (Preferences의 External Diff로 WinMerge가 설정되어 있을 경우)

13. Graph (Query->Graph)

CVS 서버에 저장된 file의 version 변동을 graph 구조로 보여준다.

WinCVS Graph

  • Graph Window : CVS Server에 저장된 file의 version 변동을 graph로 표시한다. Click하면 정보를 Shell Window에 표시한다. Diff를 이용해서 현재 Local file과 이전 version을 비교할 수도 있다.
  • Shell Window : 해당 version의 file 정보를 표시한다.

– God Bless..

<출처 : http://link.allblog.net/4220272/http://ioriy2k.pe.kr/archives/24>