CVS 기본 사용법 ①


   Eclipse Ver. : 3.2.2
  CVSNT Ner. : 2.5.03.2382
  Last Modified
2008/02/12
  by ides
  http://tequiero35.egloos.com/



▶ 프로젝트 공유


:
프로젝트를 CVS에 올리는 것.    (컨텍스트 메뉴의 Team > Share Project)


사용자 삽입 이미지


사용자 계정 추가가 먼저 선행되어야 한다.

(http://memolog.blog.naver.com/mickyblue/325 참조)


사용자 삽입 이미지


리포지터리 모듈 이름을 정한다.

공유하려는 프로젝트 name과 같게 해도 되고, (첫번째 라디오 버튼)

다른 이름을 지정해도 좋다. (두번째 라디오 버튼)

이미 존재하는 모듈을 선택해도 좋다.  (세번째 라디오 버튼)


사용자 삽입 이미지


bin는 소스 파일을 컴파일 한 것이므로 서버에 올릴 필요가 없다.

bin 폴더를 선택하고 컨텍스트 메뉴를 열어 [Add bin to .cvsignore]를 선택한다.

ok를 누르면 아래 그림과 같이 .cvsignore를 볼 수 있다.


사용자 삽입 이미지


공유가 끝나면 package Explorer 창이 아래와 같이 바뀐다.


사용자 삽입 이미지



▶ 체크아웃


:
모듈의 복사본을 얻는 작업.

 서버의 파일을 로컬로 옮긴다.

 원하는 프로젝트나 패키지, 자바 파일을 선택하고 컨텍스트 메뉴에서 Import 선택.


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


새로운 프로젝트에 체크아웃하고자 한다.

원하는 이름(ex. Chatter1)을 정하고, 그 프로젝트에 체크아웃한다.


Check out as a project configured using the New Project Wizard

: 프로젝트 위저드를 이용해 프로젝트 설정을 지정한 다음 그 프로젝트로 체크아웃.

  리포지터리에 .project 파일이 없는 경우에만 가능하다.

Check out as a project in the workspace

: 현재의 워크스페이스에 프로젝트를 생성

Check out into an existing project

: 이미 존재하는 프로젝트 내부로 체크아웃하고 싶은 경우에 사용한다.


마찬가지의 방법으로 하나의 프로젝트를 더 체크아웃하자.

체크아웃 2번째 그림에서 첫번째 라디오버튼(Create a new repository location)을 통해서 user2를 등록하고 다른 프로젝트(ex. Chatter2)를 만들어 체크아웃한다.



Commit


:
수정 후 작업 결과를 CVS에 반영.

  Team > Commit


사용자 삽입 이미지

 
수정한 파일(ChatClient.java)를 저장(Ctrl+s)하면 파일이름 앞에 > 로 표시된다.
커밋한다.
창이 뜨면 수정한 내용에 관해 간단한 멘트를 적을 수 있다.
commit이 끝나면 버전이 한단계 upgrade 되는 것을 볼 수 있다. (ex. 1.1 -> 1.2)
 
 
 

Update


: CVS
리포지터리로부터 최신의 리소스를 다시 받아오고 싶을 경우.

  Team > Update

 

 사용자 삽입 이미지




▶ 충돌 (Conflict)


같은 부분을 두 명이 작업하고 한 명이 먼저 commit했을 때,

그 사실을 모르는 작업자가 commit하려 하면 충돌이 발생한다.

 

ex.

작업자 1 (ChatClient.java) :  f.setSize(100,100);

작업자 2 (ChatClient.java) :  f.setSize(200,200);


사용자 삽입 이미지

                                             commit 에러 메시지


사용자 삽입 이미지


충돌이 나서 Update를 해본다.



사용자 삽입 이미지


비교창으로 변경된 부분을 볼 수 있다.

좌측은 로컬, 우측은 서버에 있는 파일이다.

원하는 바로 수정하고 저장한 후에 병합을 마쳤다는 뜻으로 [Mark as Merged]한다.

그러면 버전이 up되고, 이제는 commit할 수 있다.



▶ 병합 (merge)


작업자 1

JFrame f = new JFrame("Dummy Chatter");

             f.setContentPane (new ChatClient());

 

 

작업자 2

f.setSize(200,400);

 

=> 먼저 commit

작업자 1 업데이트 후

JFrame f = new JFrame("Dummy Chatter");

                    f.setContentPane(new ChatClient());

                    f.setSize(200,400);

 

=> commit

=> Update

    (ver. up)


두 명이 동시에 작업했지만, 다른 부분을 수정했을 경우...

작업자2 가 먼저 commit 했다고 하자.

작업자1이 commit하려 하면 또 에러가 뜰 것이다.

update를 해보자.

작업자 2이 먼저 commit한 내용이 로컬에 반영되면서 버전이 한단계  up되었다.

이제 작업자1 의 수정내용을 commit할 수 있다.



▶ 동기화


수정한 파일이 여러 개 일 때, 위의 작업을 일일이 하기는 버겁다.

이럴 때는 동기화를 사용하자.

Team > Synchronize with Repository


사용자 삽입 이미지


양방향 화살표(red)는 충돌,

<- 는 로컬에 추가해야 하는 것.   (반대로 ->는 서버에 반영해야 하는 것)

+ 는 새로 추가된 리소스이다.


ChatServer는 로컬에 반영해야 하므로 Update하고,

추가된 Messages.java와 messages.properties는 commit한다.

이제 ChatClient만 남는다.


< ChatClient. java >

사용자 삽입 이미지


서버에서 받아올지, 로컬의 것을 반영할지 결정한 후 저장한다.

Mark as Merged 를 해 주고 커밋한다.


사용자 삽입 이미지



by ides | 2008/02/12 16:39 | [P] Eclipse | 트랙백 | 덧글(0)

트랙백 주소 : http://tequiero35.egloos.com/tb/1407854
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶