프로젝트 공유
프로젝트를 CVS에 올리는 것을 이클립스에서는 프로젝트 공유라 한다. 프로젝트를 공유하는 방법은 간단하다. 패키지 탐색기에서 공유하고자 하는 프로젝트를 선택해 컨텍스트 메뉴를 띄운 다음 Team>Share Project 메뉴를 이용하면 된다. Share Project 메뉴를 선택하면 아래와 같이 CVS 리포지터리 위칠르 묻는 대화상자가 뜬다.
대화상자의 입력하는 부분은 크게 Location, Authentication, Connection으로 나뉘어 있다. Location에는 CVS 서버가 위치한 호스트 이름과 리포지터리 패스(CVSROOT)를 입력한다. Authentication에는 사용자 ID와 패스워드를 입력한다. Connection에서는 연결 타입과 포트를 설정한다. 내용을 입력한 후 Next 버튼을 누르면, 모듈 이름을 묻는 페이지가 나오는데, 디폴트로 프로젝트 일므을 모듈 이름으로 사용하겠다는 라디오 버튼이 선택되어 있다. 다시 Next 버튼을 누르면 아래와 같은 페이지가 나온다.
여기서 CVS에 올릴 리소스를 확인할 수 있다. 프로젝트 바로 밑에 있는 bin 디렉터리도 CVS로 올라가는 것으로 되어 있는데, bin 디렉터리는 소스 코드를 컴파일한 결과가 저장되는 곳이므로 CVS에 올릴 필요가 없다. bin 디렉터리를 마우스로 선택한 다음 컨텍스트 메뉴를 띄워 Add to .cvsignore를 선택하면 bin 디렉터리를 CVS가 무시하도록 할 수 있다.

이제 다른 사람도 자신의 PC에서 이 프로젝트를 체크아웃하여 동시에 작업할 수 있게 되었다.
- 레이블 데코레이션
CVS로 공유하지 않은 다른 프로젝트와 달리 CVS로 공유한 프로젝트는 아이콘 모양도 약간 다르고 자바 파일 옆에도 리비전 번호가 붙어 있는 것을 볼 수 있다. Preference 대화상자의 왼쪽 트리에서 Team>CVS>Label Decorations를 선택하면 CVS와 관련된 데코레이션을 더욱 세세하게 지정할 수 있는 페이지가 나온다. 여기서 아이콘, 레이블 텍스트 등을 마음에 들게 조정할 수 있다. 그리고 Preferences 대화상자의 왼쪽 트리에서 General>Appearance>Colors and Fonts를 선택하면 색상과 글꼴에 대해 다양한 설정을 할 수 있는 페이지가 나오는데, 이 페이지의 오른쪽 트리에서 CVS 항목을 선택하면 CVS 레이블에서 사용할 글꼴과 색상을 지정할 수 있다.
체크아웃
CVS에서 프로젝트를 체크아웃하는 방법도 그리 복잡하지 않다. 패키지 탐색기에서 컴텍스트 메뉴를 띄운 다음 Import 메뉴를 선택하면 Import 다이얼로그가 뜬다. 여기서 Checkout Projects from CVS 항목을 선택하고 Next 버튼을 누르면 다이얼로그 모양이 아래 그림과 같이 바뀐다. 다이얼로그 윗부분에 두 개의 라디오버튼이 보이는데, 첫 번째 버튼을 선택하면 새로운 리포지터리 위치를 등록할 수 있고, 두 번째 버튼을 선택하면 라디오 버튼 아래 나오는 항목 중 하나를 선택해 사용할 수 있다.
위의 대화상자에서 Finish 버튼을 누르지 않고 Next 버튼을 누르면 워크스페이스 위치와 체크아웃할 태그를 지정할 수 있다.
커밋과 업데이트
커밋
이 작업 결과를 CVS에 롤리려면 패키지 탐색기에서 해당 파일을 선택하고 컨텍스트 메뉴를 띄운 다음 Team>Commit 항목을 선택하면 된다. 수정한 리소스가 많을 때는 상위 폴더를 선택해 해당 폴더 내에 수정된 리소스를 한꺼번에 커밋할 수도 있다. 프로젝트를 선택한 다음 커밋을 실행하면 해당 프로젝트 내의 모든 수정된 리소스를 한꺼번에 커밋할 수 있다.
업데이트
충돌과 병합
CVS에 프로젝트를 공유하면 자신이 작업하는 중에 다른 사람도 같은 프로젝트를 수정할 수 있으므로 작업의 효율성이 증가하지만, 서로 다른 두 사람이 같은 리소스를 수정할 수 있으므로 이런 경우에 대한 해결책이 필요하다. 두 사람이 특정 리소스의 다른 부분을 수정한 경우에는 CVS가 알아서 병합을 할 수 있다. 그러나 같은 부분을 서로 다르게 수정한 경우에는 단순히 병합할 수 없으므로 충돌이 발생한다. 이 경우 어느 쪽의 리소스로 반영해야 할지를 CVS가 판단할 수 없으므로, 사람이 직접 문제가 되는 부분을 확인하고 어느 쪽 리소스를 사용할 지 판단해 수정해야 한다.
히스토리 보기
패키지 탐색기에서 컨텍스트 메뉴를 띄운 다음 Team>Show Resource History를 선택하면 CVS Resource History 뷰에서 해당 리소스의 히스토리를 볼 수 있다. 뷰의 테이블에서 각 버전을 더블 클릭하면 해당 버전의 내용을 바로 볼 수도 있고 두 버전을 선택한 다음 컨텍스트 메뉴를 띄워 Compare를 선택하면 간단하게 두 버전의 차이를 비교할 수 있다.
태그와 브랜치
태그(Tag)
이렇게 태깅을 해 놓으면 태깅된 것을 따로 체크아웃할 수 있다. ?DummyChatter release-1-0을 선택한 후 체크아웃하면 된다. 체크아웃하는 방법은 메인 트렁크(HEAD)에서 하던 방법과 동일하다. CVS Repositories 뷰에서 ?DummyChatter release-1-0 노드를 선택한 다음 컨텍스트 메뉴를 띄워 Check Out As를 선택한다.
브랜치(branches)
?DummyChatter release-1-0은 별도의 프로젝트로 체크아웃했으므로 수정하더라도 원래의 ?DummyChatter 프로젝트에는 영향을 미치지 않는다. 그러나 ?DummyChatter release-1-0 프로젝트에서 소스 코드를 수정한 다음 CVS에 커밋을 시도하면 어떻게 될까? ?ChatClient.java를 약간 수정한 다음 커밋해 보면, 해당 파일이 브랜치가 아니기 때문에 커밋할 수 없다는 에러가 발생하여 커밋에 실패한다. 따라서 수정사항을 반영하기 위해서는 먼저 브랜치를 만들어야 한다.
패키지 탐색기에서 ?DummyChat release-1-0 프로젝트를 선택한 다음 컨텍스트 메뉴에서 Team>Branch를 선택하면 아래 그림과 같은 대화상자가 뜬다.
여기서 브랜치 이름을 입력하고 확인 버튼을 누르면 CVS 리포지터리에 브랜치가 생긴다. CVS Repositories 뷰에서 아래 그림과 같이 브랜치가 보인다면 제대로 된 것이다. 브랜치 생성 다이얼로그에서 브랜치 이름 입력 텍스트필드 바로 밑에 Start working in the branch 체크박스가 있었는데, 이 체크박스에 체크해야 브랜치를 만든 다음 현재 프로젝트에서 새로 만든 브랜치로 작업할 수 있다. 이 체크박스에 체크해두지 않으면 브랜치를 다시 새로운 프로젝트로 체크아웃해서 사용해야 한다.
브랜치를 만들긴 했지만, 아직 작업이 끝난 것은 아니다. 수정한 내용을 브랜치에 커밋하는 작업이 남아 있다.
패치
패치를 이용하면 CVS에 커밋하지 않고도 자신이 변경한 내용을 다른 사람과 공유할 수 있다. 패치는 리포지터리에 있는 리소스와 워크스페이스에 있는 리소스의 차이를 담고 있다. 패치는 하나의 파일에 대한 차이를 담을 수도 있고, 프로젝트 전체에서 각각의 파일에 대한 차이를 담을 수도 있다. 패치는 Package Explorer의 컨텍스트 메뉴에서 Team>Create Patch를 선택해 생성할 수 있으며 결과를 파일이나 클립보드에 저장할 수 있다. 패치를 적용할 때는 컨텍스트 메뉴의 Team>Apply Patch를 사용한다. 패치를 생성할 때나 적용할 때 모두 위저드의 도움을 받을 수 있으므로 별로 어렵지 않게 작업할 수 있따.
삭제한 파일 복구
불필요할 것 같아 삭제한 다음 CVS로 커밋했는데, 나중에 삭제한 파일을 되살려야 하는 경우가 종종 있다. 파일을 삭제해 커밋하더라도 CVS가 파일을 리포지터리에서 삭제하는 것은 아니므로, 필요할 경우 되살릴 수 있다.

대화상자의 상단 왼쪽에는 되살릴 수 있는 리소스가 표시되고 여기서 되살리고자 하는 리소스를 선택하면 그 오른쪽 테이블에 해당 리소스의 히스토리가 표시되는데, 여기서 되살리고 싶은 리비전을 선택하면 아래쪽에 해당 리소스의 내용이 표시된다. 리소스의 히스토리가 표시되는 테이블의 각 행 앞에는 체크박스가 있는데, 되살리려는 리비전에 해당하는 체크박스를 선택하면 Finish 버튼이 활성화되며 Finish 버튼을 누르면 선택한 리소스의 선택한 리비전이 복구된다.
CVS Annotation 뷰
소스 코드의 특정 부분을 누가 수정했는지 보고 싶었던 경험이 있을 것이다. 패키지 탐색기에서 보고 싶은 파일을 선택한 다음 컨텍스트 메뉴에서 Team>Show Annotation을 선택하면 CVS Repository Exploring 퍼스펙티브로 전환되고 워크벤치 왼쪽에 CVS Annotation 뷰가 보인다.
