강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

버전 관리 시스템 - Concurrent Versions System (CVS)-3

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

버전 관리 시스템 - Concurrent Versions System (CVS)-3



목차

WINCVS 를 이용한 CVS 사용

    1. 저장소설정

    2. 프로젝트 초기화

    3. 프로젝트 진행

        ­ 체크아웃

        ­ 최신정보로 유지

        ­ 파일과 디렉토리의 추가,삭제,변경

        ­ 파일수정하기

        ­ 변경내용 살펴보기

        ­ 충돌해결하기

        ­ 변경내용전송

        ­ 변경기록조사

        ­ 변경내용제거

    참고  & 도서

 

WINCVS 를 이용한 CVS 사용


wincvs 설치에 사용한 버전은 1.3.20 이며 다운로드는
http://www.wincvs.org/download.html url에서 가능하다

설치는 일반적인 윈도우프로그램의 설치와 동일하게 진행하면 된다

1. 저장소설정

 

제일먼저 해야하는 일은 CVSROOT 의 설정과 cvs작업에 이용할 디렉토리의 설정이다.

PIC24B.gif

cvs로 사용할 디렉토리의 설정은 admin > preferences 화면의 cvs 탭에서 설정할수있다

예제에서 나는 C:CVS 디렉토리를 cvs작업에 사용할 생각이다

PIC24C.gif

PIC24D.gif


CVSROOT 의 설정은 admin > Login 메뉴에서 한다

PIC24E.gif

PIC24F.gif

CVSROOT 를 입력하는 화면이다. 접속방식을 결정하기위해서 ... 이라는 버튼을 클릭한다

PIC250.gif

저장소의 위치와 접속방법을 선택하고 ok버튼을 누른다

PIC251.gif

아래쪽의 output 창의 리턴코드가 0이면 정상적으로 명령이 실행되었다는것을 의미한다

즉 설정한 저장소에 접속했다는 의미이다

2. 프로젝트 초기화

 

먼저 c:CVS 안에서 새롭게 진행하고자하는 프로젝트이름으로 디렉토리를 만든다

demoproj 라는 디렉토리안에 sample.txt 라는 화일을 만들었다

PIC252.gif

PIC253.gif



PIC254.gif

Remote > Import module 메뉴를 클릭하면 아래와 같은 화면이 나온다

PIC255.gif

PIC256.gif

확인버튼을 누르면 원격저장소에 새 프로젝트가 추가된다

PIC257.gif

아래 outpot 창의 메세지를보면 코드0을 리턴하고있다, sample.txt 라는 화일을 포한함 demoproj 라는 프로젝트가 정상적으로 저장소에 추가된것이다

이제는 내 컴퓨터안의 프로젝트파일이 저장소에 저장되어 있으므로

컴퓨터안의 파일은 삭제해버리고 이후 작업할때는 저장소에서 새롭게 화일을 받아와야한다.

그 이유는 지금 내컴퓨터안의 파일들은 CVS에 대한 설정내용들을 가지고있지 않기 때문이다.

다음과정에서 새롭게 받아온 디렉토리를 확인하면 내가 저장한 파일외에 CVS라는 디렉토리가 생성되어 있음을 알수있다. wincvs 를 켜둔채로는 삭제가 안되니 wincvs를 종료하고 c:CVS 안에 dempproj 라는 디렉토리를 삭제하자.

3. 프로젝트진행

 

그리고 이제 다시 wincvs를 구동시킨다

모든 필요한 파일들은 저장소에 갖추어져 있고, 이제는 프로젝트 참여원 모두가 각각 작업을 진행하면 된다.새롭게 wincvs를 실핼시키면 아래처럼 아무것도 없는 상태가 될것이다.

PIC258.gif


3-1. 체크아웃

저장소에 저장된 내용을 새롭게 받아와서 작업하기 위해서 체크아웃을 진행한다.

Remote > Checkout module 을 선택한다

PIC259.gif

저장소에서 가지고올 프로젝트명을 적어주고 cvsroot 를 설정한후 확인버튼을 누른다

PIC25A.gif

PIC25B.gif


정상적으로 가지고 온 화면이다

가지고온 내용을 확인해보면 cvs라는 디렉토리가 생긴것을 알수있다.

이안에 cvs를 초기에 설정했던 내용들이 들어있으며

프로젝트 참여자들은 신경쓰지 않아도 상관없다

PIC25C.gif


그러면 특정한 개정판을 가져오는 것은 어떻게 하는가?

파일을 선택한다음 오른쪽 마우스메뉴의 Update 를 선택한후 대화상자의 Update Options 탭에서 여러가지 옵션을 설정할수있는데 태그나 개정판번호를 선택해서 가지고 올수있다.

PIC25D.gif

PIC25E.gif

테스트에서는 개정판번호가 1.3 인것을 가지고 오도록 설정했다.

그외 날짜별로 가지고 올수도 있고 태그를 이용해서 가지고 올수도 있으니 각자 해보기 바란다.

이렇게 파일을 가지고오면 아래 그림처럼 개정판번호가 나타난다.

PIC25F.gif


3-2. 최신정보로 유지

내가 작업하는 도중에 다른 개발자가 저장소의 파일을 변경했을수 있으므로 자주 정보를 갱신해주는 것이 좋다

Modify > Update 메뉴를 통해서 업데이트할수있다

PIC260.gif


PIC261.gif


3-3. 파일과 디렉토리의 추가,삭제,변경

testfile.txt 라는 파일하나를 저장소에 추가해보기로 하자

일단 c:CVSdemoproj 안으로 가서 testfile.txt 라는 새로운 파일하나를 생성한다

PIC262.gif

PIC263.gif

저장소에 파일을 추가하기 위해서 추가할 파일을 클릭한 다음 Modify > Add 를 선택한다

PIC264.gif

PIC265.gif

명령이 성공적으로 진행되었다.

하지만 실제로 저장소에 파일을 추가하기 위해서는 commit 을 실행해야한다

이번의 화면예는 testfile.txt 파일위에서 마우스 오른쪽버튼을 누르고 명령을 내린화면이다

메뉴를 이용해도 되고, 파일위에서 마우스 오른쪽 버튼을 눌러도 동일하게 명령메뉴는 나타난다

PIC266.gif

PIC267.gif

PIC268.gif

이제 저장소에는 testfile.txt 라는 파일이 추가되어 있다.

확인하기 위해서 wincvs를 종료하고,

c:cvs 안의 demoproj 디렉토리를 삭제한후에 다시 프로젝트를 체크아웃해보자

PIC269.gif

다시 demoproj 를 체크아웃 해본결과 이다.

아까 추가했던 testfile.txt 가 추가된것을 확인할수있다.

그럼 다시 testfile.txt 를 삭제해보자.

삭제하는 절차는 실제로 c:CVSdemoproj 안의 testfile.txt 를 삭제하고

저장소에 삭제할것이라고 알려준후에, commit 으로 변경내용을 전송한다.

실제 삭제를 하고나면 wincvs 화면에 아래처럼 나타난다.

PIC26A.gif

그럼 저장소에 이파일을 삭제할것이라고 알리기 위해서 testfile.txt를 선택한후에

Modify > Remove 를 선택하자

PIC26B.gif

명령이 성공적으로 실핼되고 나면 아이콘이 빨간색으로 변경된다.

PIC26C.gif

이제 실제 변경내용을 저장소에 적용하기위해서 commit 한다.

PIC26D.gif

PIC26E.gif

정상적으로 삭제처리된 화면이다

PIC26F.gif


디렉토리의 경우는 cvs에서 삭제가 불가능하다. 따라서 디렉토리를 지우고싶은 경우에는 디렉토리안의 파일들을 모두 삭제해서 빈디렉토리로 만든후 저장소에 전송하고

이후 체크아웃때에는 빈디렉토리를 받아오지 않도록 설정해서 사용한다.

설정하는 부분은 admin > preferences 메뉴의 Globals 탭안의 내용중

Pure(remove) empry directories 를 체크하고 체크아웃하면 된다

PIC270.gif


3-4. 파일수정하기

원하는 에디터기로 c:CVSdemoproj 안의 sample.txt 파일을 수정하고

wincvs 의 아이콘을 보면 자동으로 수정되었음을 감지한 wincvs 에서는 수정한 파일이 빨간색으로 나타난다

수정했으면 변경내용을 저장소에 저장해서 적용시키도록 commit 을 이용한다.


PIC271.gif

PIC272.gif

PIC273.gif

PIC274.gif


3-5. 변경내용 살펴보기

파일을 내컴퓨터에서 수정한후에 저장소의 파일과 무엇이 다른지 알고싶은 경우가 있다.

변경내용을 살펴보고싶은 파일을 선택한후에 오른쪽버튼 메뉴에서 Diff 를 선택한다.

PIC275.gif

PIC276.gif

PIC277.gif

PIC278.gif

Compare 부분에서 3가지를 선택할수있는데 이항목은 각각

내컴퓨터의 파일 개정판번호와 과 저장소의 파일 개정판번호가 같은것을 비교하거나

내컴퓨터의 파일 과 저장소의 원하는 개정판번호를 선택하거나

저장소의 개정판간의 비교를 고를수있다

프로그램에서 제공하는 diff 외에 외부의 윈도우용 diff 프로그램을 사용하기를 원한다면

admin> preferences 메뉴중 wincvs 탭에서 설정해서 사용할수있다


3-6. 충돌해결하기


서로 다른 두사람이 동일한 파일의 같은줄을 수정하는 경우에는 충돌이 발생한다.


(가) cvs update -P (in directory C:CVSdemoproj2)

(나) cvs server: Updating .

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,038 명
  • 현재 강좌수 :  35,813 개
  • 현재 접속자 :  124 명