clearcase 사용자 매뉴얼 - egloospds9.egloos.com › pds › 200803 › 27 › 41 ›...

30
ClearCase 사용자 매뉴얼 1/30

Upload: others

Post on 29-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

ClearCase

사용자 매뉴얼

1/30

목 차

1. Dynamic View를 이용한 개발....................................................3

(1) View의 생성................................................................................................3

(2) VOB mount..................................................................................................7

(3) 메타 데이터의 생성 및 관리...................................................................8

(4) 프로젝트 브랜치의 생성 및 관리.........................................................10

(5) 개발자 브랜치의 생성 및 관리.............................................................13

(6) 소스의 병합 (merge) ..............................................................................14

2. Snapshot View를 이용한 개발................................................22

(1) View의 생성..............................................................................................22

(2) Config spec의 적용 및 Load VOB.....................................................25

(3) 네트워크 상에서의 개발.........................................................................26

(4) View 업데이트..........................................................................................27

(5) 네트워크 바깥에서의 개발.....................................................................28

2/30

1. Dynamic View를 이용한 개발 (1) View의 생성

① ClearCase Explorer에서 ToolBox->Base ClearCase->CreateView를 선택

한다.

② 다음의 화면에서 “다음”을 클릭한다.

3/30

③ 다음의 화면에서 “Dynamic”버튼을 클릭한다.

④ 설정을 해준다

i view 명칭을 정한다. 이 명칭은 나중에 다른 view와 구분을 위한 명

칭이기 때문에 사용목적에 맞게 잘 만든다.

ii 네트워크 드라이브 문자를 지정한다. 이 문자를 가지고서 윈도우 탐색

기에서의 경로가 결정된다. 예를 들어서, Z 드라이브로 지정을 하면

ClearCase에서 mount하는 파일과 디렉토리들이 Z:₩ 로 시작하는

path를 갖게 된다.

iii 주석을 붙인다. 생략해도 무방하다.

iv Advanced Options 버튼을 누른다. 반드시 해야 한다.

4/30

⑤ Advanced Options 버튼을 누르면 다음의 화면이 나올 것이다. 여기서 실제

로 view를 어디에 구성할 것인지를 결정한다.

i Server에 view생성

Server 장비에 view를 생성하고자 하면 첫번째 라디오버튼 “Use server

storage location”을 선택한다. 다음으로 view-server_ccstg_c_view를 선택

한다.

5/30

ii Local (개인 머신)에 view생성

개인 머신에 view를 구성하고자 하면 다음과 같이 한다.

a 개인 머신에 공유폴더를 하나 만들고 read/write 가능하게 한다.

혼자만 사용할 것이므로 사용자는 자신의 도메인 계정만 허용해

도 된다. 단, read/write 다 가능해야 한다. 이미 만들어져 있다

면 이 과정을 생략한다.

b 라디오버튼에서 “Use explicit path”를 선택한다.

c Browse 버튼을 누른다. 디렉토리를 선택하는 화면이 나온다. 이

때 “내 컴퓨터”에서 공유폴더를 찾는 것이 아니라, “네트워크 환

경” 에서 자신의 공유폴더를 선택해야 한다.

⑥ View의 생성 경로를 정하고 난 후 “Create sharable derived objects” 체크

박스를 체크 해제한다.

⑦ 그러고나면 ④번 화면으로 다시 돌아올 것이다. 여기서 “Finish”를 누른다.

⑧ 다음과 같은 확인창이 나타난다.

6/30

⑨ OK를 누르면 다음과 같은 메시지가 나온다.

(2) VOB mount View를 생성했으면 실제 소스 폴더와 파일을 로드할 차례이다. 다음의 절차를

따라하면 된다.

① ClearCase Explorer의 View 명칭에서 마우스 오른쪽 클릭을 하고 “mount

VOB”을 선택한다.

② VOB 선택창이 나타난다. 필요로 하는 VOB을 선택한 후 OK 한다. 이 때,

“Reconnect at Logon” 체크박스를 해제한다. 이 체크를 해제하지 않으면 컴

퓨터가 부팅될 때 자동으로 VOB을 mount한다. 이상현상은 발생하지 않으며,

단지 컴퓨터 부팅이 느려질 뿐이다.

7/30

(3) 메타 데이터의 생성 및 관리 메타 데이터는 레이블, 브랜치등 소스의 관리를 원할히 하기 위해서 만들어지는

object를 총칭한다. 메타 데이터는 view에 만들어지는 것이 아니라 VOB에 만들

어진다.

View 이름 밑에 첫번째로 보이는 폴더들이 vob이다.

위의 그림에서 VOB은 2개이다. 나머지 하위 폴더들은 VOB에 속해 있는 디렉토

리들이다.

① 브랜치 메타 데이터의 생성

i VOB 폴더에서 마우스 오른쪽 클릭을 하고서 “Explorer Type”을 선택

한다.

ii 다음과 같은 화면에서 “Branch Type”을 선택한다.

보이는 모양은 설정에 따라서 약간 다를 수도 있다.

iii 아래의 화면에서 마우스 오른쪽 클릭하고서 “Create”를 선택한다.

8/30

iv 브랜치의 명칭과 주석을 기입한다.

v 한번 더 확인을 하기 위한 화면이 나올 것이다. 특별한 사항이 없다면

“확인”을 누른다.

9/30

vi iii번의 화면에서 브랜치가 새로 만들어졌음을 확인할 수 있다.

vii 메타 데이터 생성 윈도우를 닫는다.

② 레이블 메타 데이터의 생성

i ①의 ii번 화면에서 “label type”을 선택한다.

ii 이후의 과정은 브랜치 메타 데이터의 생성 방법과 동일하다.

(4) 프로젝트 브랜치의 생성 및 관리 주) 이 과정은 프로젝트를 시작하게 되면 형상관리자에 의해서 이미 완료되어 있

을 것이다. 개발자가 직접 이 부분을 처리할 필요는 없으며 다만 ClearCase의

사용이해를 돕고자, 또 개발자 브랜치 생성 및 관리에 도움을 주기 위해서 서술

한다.

Main 브랜치는 최종 완성된 소스가 보관되는 브랜치로써 여러 프로젝트 팀이 공

용으로 활용하는 영역이다. 따라서 이 곳의 소스에 바로 작업을 해서는 안되며 반

드시 프로젝트 작업용 영역을 별도로 만들어야 한다.

① Main 브랜치에서 기반 소스로 활용할 버전을 선택한다. 즉, config spec을

이용해서 view에 보여지는 파일에 레이블이 적용된다. 버전 트리에서는 “눈

표시”가 되어 있는 파일이 된다.

② 해당 버전을 사용하겠다는 의미로 레이블을 붙인다.

i Rational ClearCase->ApplyLabel Wizard를 실행시킨다.

ii 레이블을 붙일 view를 먼저 선택한다.

10/30

iii 레이블을 적용할 element를 선택한다. 디렉토리 위주로 add시킨다.

iv 아래의 화면은 설정해 줄 것이 몇 가지 있다.

a 적용할 레이블을 선택한다. Browse를 누르면 적용 가능한 레이

블이 나타난다. 만약 적당한 레이블이 없다면 생성도 가능하다.

b 해당 레이블이 이미 어떤 element에 적용이 되어 있을 수도 있

다. 이 때 그 레이블을 옮겨줄 것인지, 이미 붙어있는 element

에 그대로 둘 것인지를 선택한다.

11/30

c 디렉토리의 하위 element에 재귀적으로 레이블을 붙일 것인지

를 선택한다.

d VOB의 symbolic link에도 레이블을 적용할 것인지를 선택한다.

e 필요한 주석을 추가한다.

v 마침을 누르면 다음과 같은 확인창이 뜬다.

vi 레이블 적용이 끝나면 다음과 같은 창이 뜬다. 이 창은 레이블 붙이기

를 더하겠느냐고 묻는 창이다. “아니오”를 선택해야 레이블 붙이기가

완전히 끝나게 된다.

12/30

③ 해당 레이블을 가지고서 프로젝트 개발용 통합 브랜치를 생성한다. 이것은

view의 config spec을 이용해서 처리가 되는 부분이다. 자세한 사항은

Config Spec 매뉴얼의 6장 2절을 참조하라. 통합 브랜치의 생성 결과는 다

음과 같다.

주1) 이번 장의 작업들은 개발자가 직접하는 부분은 아니다. 형상관리자에 의

해서 모든 작업이 완료될 것이다. 단, 이를 적용하기 위해서 형상관리자가 제

공하는 config spec을 반영할 필요는 있다.

주2) 최초로 통합 브랜치를 적용하면 위와 같은 모습의 통합 브랜치가 보이지

않을 수도 있다. 이는 잘못된 사항이 아니라 불필요한 복사본을 만들지 않으려

는 ClearCase의 내부 로직 때문이다. 자세한 사항은 Config Spec 매뉴얼의 6

장 2절을 참조하라.

(5) 개발자 브랜치의 생성 및 관리 프로젝트 통합 브랜치는 해당 프로젝트를 개발하는 개발자 전체가 이용하는 영역

이다. 따라서 혼자 혹은 일부 인원이 기존 프로젝트에 영향을 주지 않고 독자적

인 개발, 테스트를 진행하고자 하면 프로젝트 통합 브랜치에서부터 개인용 브랜

치를 생성할 필요가 생긴다.

① 프로젝트 통합 브랜치에서 개발자용 브랜치를 확장한다. 필요하다면 통합 브

랜치의 특정 버전에 레이블을 붙일 수도 있다. 레이블 생성과정은 1장 3절

을 참조할 것이며, 레이블 적용과정은 1장 4절을 참조하라.

② 개발자 브랜치를 생성한다. 브랜치 생성과정은 1장 3절, config spec 매뉴얼

6장 2절을 참조하라.

13/30

③ 레이블과 브랜치를 이용해서 개발자 브랜치를 만든 결과는 아래와 같다.

주) 실행결과 개발자 브랜치 (test_branch) 가 위와 같이 보이지 않을 수도 있다.

이는 잘못된 사항이 아니라 불필요한 복사본을 만들지 않으려는 ClearCase의 내

부로직 때문이다. 자세한 사항은 Config Spec 매뉴얼의 6장 2절을 참조하라.

주) 레이블이 위와 같이 프로젝트 통합 브랜치에 붙지 않고, main 브랜치에 붙어

있을 수도 있다. 이 역시 잘못된 사항이 아니므로 당황하지 말자. 프로젝트 통합

브랜치가 생성되지 않은 파일에 대해서는 main에 레이블이 붙을 것이다.

(6) 소스의 병합 (merge) 개발자가 개인 브랜치로 작업을 수행하였으면 언젠가는 그 결과를 프로젝트 통합

브랜치에 반영하여야 한다. 소스 병합을 위해 ClearCase에서 제공하는 merge라

는 기능을 설명한다.

① 개별 파일의 병합(merge)

i 버전 트리에서 병합할 버전을 마우스 오른쪽 클릭한 후 “merge to”를

선택한다.

ii 마우스를 병합 대상 버전에 갖다 댄다. 마우스 표시가 과녁표시가 될

것이다.

14/30

iii 위의 과정을 잘 수행하였으면 다음과 같은 창이 나타난다.

위의 화면에서 가운데에 있는 “Merge the element graphically”를 반드시 체크

한다. 이 옵션은 병합을 수동으로 하겠다는 뜻이다. ClearCase에서 병합할 포

인트를 표시해 줄 것이다.

위의 옵션을 체크하지 않으면 병합이 자동으로 진행된다. ClearCase의 병합

알고리즘에 의해서 소스가 자동으로 합쳐진다.

iv 아래와 같이 붉은 화살표로 병합할 위치를 표시한다. 상단 툴바에 있

는 1, 2, 3번으로 해당 위치에 어떤 소스를 넣을 것인지를 결정한다. 1,

2, 3은 각각 하단에 있는 3개의 창에 있는 소스를 나타낸다. 병합이

완료되면 저장을 한다.

15/30

16/30

v 소스가 병합되면서 해당 버전을 Check out하라는 메시지가 나온다.

병합도 엄연히 소스를 변경하는 작업이기 때문에 버전관리를 위해서

Check out/in 과정을 거쳐야 한다.

vi 병합이 완료되면 다음과 같은 메시지가 나온다.

vii 병합의 결과는 다음과 같이 표시된다. 붉은선은 병합 방향을 표시한다.

여기서는 test_branch에서 project_integration으로 통합이 된 것이다.

viii 병합이 완료된 파일을 check in 해준다. Check out이 자동으로 진행되

지 않기 때문에 check in도 수동으로 해줘야 한다.

17/30

② 병합 매니저(merge manager) 이용

병합할 파일이 많을 경우 한꺼번에 일을 진행시키기 위해서 병합 매니저를

이용한다.

i Rational ClearCase->Merge Manager를 실행시킨다.

ii 아래와 같은 화면에서 new를 클릭한다.

iii 병합 작업을 할 view를 선택한다.

18/30

iv 병합할 소스를 선택한다.

v 병합할 대상을 선택한다.

a 브랜치를 기준으로 병합할 소스를 선정한다.

b 레이블을 기준으로 병합할 소스를 선정한다.

c 기타 버전 선택자를 이용한다. 잘 사용하지 않는다.

d 다른 view에 있는 소스를 병합할 소스로 선정한다.

19/30

vi 병합을 위한 여러가지 옵션을 지정한다.

a 자동으로 병합할 것인지를 결정한다.

b 각 디렉토리의 하위 요소들도 병합할 것인지 결정한다.

c Symbolic link가 걸린 요소들도 포함시킬 것인지 결정한다.

vii 확인창이 나타난다.

20/30

viii 병합을 시작한다.

ix 병합을 위해서 소스를 check out 하라는 창이 나타날 수 있다.

주) 병합 매니저를 이용한 소스의 병합을 권장하지 않는다.

21/30

2. Snapshot View를 이용한 개발 (1) View의 생성

① ClearCase Explorer에서 ToolBox->Base ClearCase->Create View를 선

택한다.

② 아래의 화면에서 다음으로 넘어간다.

③ 아래의 화면에서 snapshot 버튼을 누른다.

22/30

④ snapshot view는 소스를 Local 머신으로 복사해 온다. 따라서 복사해 올 위

치를 지정해 주어야 한다. 소스 위치를 지정했으면 반드시 Advanced

Options 버튼을 누른다.

⑤ 아래의 화면에서 반드시 Use explicit path를 사용한다. Explicit path를 잡는

자세한 방법은 1장 1절을 참조하라. 그리고 Name of view를 적당하게 붙여

준다.

23/30

⑥ 다음과 같은 확인창이 뜬다.

⑦ 이후 다음과 같이 VOB을 선택하는 창이 나온다. 아무것도 선택하지 않고

OK를 누른다.

24/30

⑧ 이후 snapshot view가 만들어져서 clearcase explorer에 반영되는 데에는

상당한 시간이 걸릴 수 있다.

(2) Config spec의 적용 및 Load VOB Dynamic View에서와 마찬가지로, mount할 VOB을 결정하는 과정과 어떤 버전

을 선택할 것인지를 결정하는 config spec 처리 과정이 존재한다.

① Config spec의 적용

i Snapshot view->마우스 오른쪽 클릭->view property를 선택한다.

ii Config spec탭을 선택하고 원하는 버전을 로드하기 위한 config spec

을 기입한다. 자세한 사항은 1장 3절, 1장 4절, Config Spec 매뉴얼 6

장 2절을 참조하라.

② Load VOB

i 위의 과정과 연속으로 수행한다.

ii Load Rules 탭을 선택하고 “Edit load rules” 버튼을 클릭한다. 아래와

같은 화면이 나타날 것이다.

iii Load할 VOB을 선택한 후 OK한다.

25/30

③ 소스 다운로드

i 위의 과정과 연속으로 수행한다.

ii View property 창에서 확인을 클릭한다.

iii 다음과 같은 업데이트 창이 나타날 것이다. 여기서는 확인을 클릭한다.

iv 업데이트 결과창이 나타나면서 과정이 끝난다.

(3) 네트워크 상에서의 개발 snapshot view는 소스가 로컬 머신으로 복사된다는 점 외에 다음과 같은 특징들

이 있다.

Snapshot view에서 check out하면 다른 view에서 check out할 수 없다. (굳이

하려고 하면 unreserved check out하여야 한다.)

다른 view에서 check out한 파일은 snapshot view에서 check out할 수 없다.

(굳이 하려고 하면 unreserved check out하여야 한다.)

Snapshot view에서 check in하면 다른 Dynamic view에 실시간으로 변경사항

이 반영된다.

Dynamic view, 다른 snapshot view에서 변경한 사항은 실시간으로 해당

snapshot view에 반영되지 않는다.

26/30

(4) View 업데이트 네트워크 상에서 snapshot의 제약은 변경된 소스가 실시간으로 다운로드되지 않는

다는 점이다. (snapshot view에서 변경된 소스는 실시간으로 업로드된다.) 이런 부

분 때문에 종종 view 업데이트를 할 필요가 생긴다.

① Snapshot view에서 마우스 오른쪽 클릭하고 update view를 선택한다.

② 업데이트 창에서 advanced 탭을 선택한다.

③ 위의 창에서 첫번째 영역은 hijacked 파일 처리방법이다. Hijacked 파일에

대한 자세한 내용은 2장 5절을 참조하라.

i hijacked 파일은 그대로 유지한다.

ii hijacked 파일의 명칭을 변경하고 VOB에 있는 파일을 업데이트한다.

iii hijacked 파일을 지우고 VOB에 있는 파일을 업데이트 한다.

④ 두번째 영역에서 타입스탬프를 정한다. 두 옵션이 어떤 차이가 있는지 현재

로써는 알려져 있지 않다.

⑤ 업데이트 결과창이 뜨면서 변경된 소스 다운로드가 완료된다.

27/30

(5) 네트워크 바깥에서의 개발 네트워크에 접속되어 있지 않으면 일단 ClearCase Explorer가 작동하지 않을 것

이다. 이는 ClearCase 사용 라이센스를 네트워크로 확인해야 되는데 이 과정을

수행할 수 없기 때문이다. Snapshot의 경우, 로컬에 복사되어 있는 소스를 가지

고 개발 과정을 지속할 수 있다.

① 소스 파일이 있는 위치를 찾아간다. 이 위치는 snapshot view를 처음 만들

때 지정했던 위치로서 개발자 스스로 알고 있어야 하는 위치이다.

② 해당 소스의 등록정보를 확인한다. 모두 “읽기 전용”으로 되어 있을 것이다.

수정하고자 하는 소스의 “읽기 전용” 속성을 해제한다.

③ 소스 수정작업을 한다.

④ 다시 네트워크에 접속하고서 ClearCase Explorer를 실행시키면 hijecked 파

일이라는 표시가 뜰 것이다. ClearCase가 모르는 가운데에 파일이 변경되었

다는 뜻이다.

⑤ Hijecked 파일을 처리하는 방법은 다음과 같다.

i Undo Hijecked : hijacked 파일의 변경사항을 무시하고 VOB에 있는

버전으로 치환한다. 즉, hijacked 파일을 없애버린다.

ii Check out : hijacked 파일이라는 경고(?) 메시지가 뜰 것이다. Yes한

이후 다시 check in 하면 hijacked 파일의 변경내용이 전부 반영된다.

28/30

iii Merge : check out하려고 할 때 다음과 같은 경고(?) 메시지가 뜰 수

있다. VOB에 있는 파일이 또다른 변경사항을 가지고 있다는 뜻이다.

이 경우에는 보통 hijacked 파일 밑에 또다른 버전이 생성되어 있을

것이다. 버전 트리에서 확인하면 다음과 같다. 여기서는 0번 버전이

hijacked 파일이고 1번 버전이 그 이후에 다른 사람에 의해서 수정된

버전이다. 이 때 0번 버전을 1번 버전에 병합(merge)시킨다. 병합에

대한 자세한 설명은 1장 6절을 참조하라.

29/30

30/30