대규모의 프로젝트는 다수의 개발자가 참여하여 진행된다. 그러나 이런 경우 서로 동일한 소스를 동시에 수정하거나 삭제함으로써 개발에 종종 문제가 발생하곤 한다. 이 경우 CVS를 사용하면 이러한 문제를 해결할 수 있다. CVS는 “Concurrent Versions System”의 약자로 소스의 버전을 만들어 관리함으로써 소스의 백업과 동시 작업이 가능하도록 해주는 시스템이다. 이 CVS 시스템은 혼자 프로젝트를 진행할 경우에도 장소에 구애받지 않고 프로젝트를 진행할 수 있도록 한다. 이클립스에서는 프로젝트 진행과 관리를 위해 CVS를 지원한다.
이클립스에서 CVS를 활용하려면 우선 CVS 서버에 계정을 가지고 있어야 한다. 여기서는 CVS 서버를 설정하는 방법은 다루지 않고 이미 서버에 계정이 있다는 전제로 글을 진행하겠다. 이클립스에서 CVS를 이용한 프로젝트의 관리는 CVS 서버에 프로젝트 등록하는 단계, 등록된 프로젝트를 CVS 서버로부터 이클립스로 가져오는 단계, 자신이 수정한 내용을 서버에 적용하기 위한 단계 마지막으로 누군가에 의해 수정된 소스를 자신의 이클립스 프로젝트에 반영하기 위한 단계로 설명할 수 있다.
만약 학교에서 이클립스 실습시간에 배운 내용이나 부여된 과제물을 집이나 회사 또는 제3의 장소에서 계속적으로 진행하려고 한다면 어떻게 CVS를 적용시킬 수 있을까. 가장 먼저 이클립스 프로젝트를 CVS 서버에 등록해야 한다. 이는 이클립스 프로젝트 익스플로러의 메뉴 중 “Team” 항목의 서브메뉴인 “Shared Project” 항목을 통해 이루어진다. 이클립스 프로젝트의 등록은 최초 한번만 하면 된다. CVS 서버에 등록된 이클립스 프로젝트를 집이나 회사와 같은 다른 컴퓨터에서 불러오려면 역시 이클립스 “File” 메뉴에서 “New” -> “Project” 항목을 차례로 선택한 다음 “CVS”의 서브항목인 “Projects from CVS”를 통해 가져올 수 있다. 이렇게 CVS 서버와 동기화 된 이클립스 프로젝트는 “Update”, “Commit”에 의해 버전을 관리할 수 있다. “Update”는 누군가에 의해 최근 변경된 프로젝트의 내용을 내가 작업하는 프로젝트에 반영하는 과정이고, “Commit”은 내가 작업하고 변경한 내용을 다른 사람들이 반영할 수 있도록 서버에 등록하는 과정이다.
그러면 이클립스 프로젝트를 CVS 서버에 등록하는 방법에 대해 살펴보자. 등록하려는 프로젝트는 “JSPLecture”이다. 우선 이 프로젝트를 등록하려면 프로젝트 익스플로러의 프로젝트 이름 “JPSLecture” 위에서 마우스 오른쪽 클릭을 한 후 “Team”, “Shared Project…” 항목을 차례로 선택한다.
CVS 서버 접속에 필요한 계정정보를 입력받기 위한 “Enter Repository Location Information” 창이 뜨면 다음과 같은 내용의 정보를 입력한다. “Host”에는 CVS 서버의 도메인 이름이나 IP 주소를 입력하고, “Repository path”에는 서버에서 CVS 저장소를 위한 디렉터리 이름을 입력한다. “Repository path”는 서버에 따라 다르므로 관리자에게 문의하여 입력해야 한다. 그리고 CVS 서버에 주어진 자신의 아이디와 비밀번호를 “User”와 “Password”에 각각 입력한 뒤 “Next>” 버튼을 클릭한다. “Save password” 좌측의 체크박스를 선택하면 암호를 기억하여 다음부터 암호를 묻지 않는다.
“Enter Module Name” 창이 뜨면 “Use project name as module name”을 선택한다. 이는 서버에서 관리되는 프로젝트 이름이 이클립스 프로젝트 이름과 동일하게 관리되도록 한다. 그러나 만약 서버에 동일한 이름이 존재한다면 “Use specified module name” 항목을 선택한 후 서버에서 다른 이름으로 관리되도록 할 수 도 있다. 모듈이름을 결정했으면 “Next>” 버튼을 클릭한다.
“Shared Project Resource” 창과 “Commit” 창에서는 특별히 입력하거나 변경할 내용이 없으므로 “Next>” 버튼과 “Finish” 버튼을 차례로 클릭하여 프로젝트 등록을 진행한다.
프로젝트가 CVS 서버에 등록되는 “Committing resources” 창을 통해 진행 과정이 표시된다.
진행이 완료되면 이클립스 프로젝트 이름 옆에 CVS 서버 이름이 출력되어 해당 프로젝트가 CVS 서버와 동기화 되고 있음을 알린다.