2010-02-28 3 views
0

하위 분기에 대한보기가 생성되었습니다. 주어진 하위 분기 이름의 경우 하위 분기가 생성 된 상위 분기와 기본 레이블을 찾을 수 있습니까?Clearcase에서 분기의 상위 레이블을 찾는 방법

+0

ClearCase에는 "상위 레이블"또는 "하위 분기"개념이 없습니다. 누군가가 좋은 응답 시간을 투자하기를 원하면 적어도 정확한 문제 설명을 제공해야합니다. 나는 가능한 모든 해석과 각각에 대한 대답을 열거하지 않을 것이다. 12 년 전 – Garen

답변

1

하위 분기가 기반으로하는 분기, 레이블 또는 버전은 config_spec에 의해 결정됩니다. cleartool catcs -tag <your_view_name> | grep -2 <your_child_branch_name>을 실행하여 문맥을 제공하기 전후에 몇 줄을 제공해야합니다. config_spec의 모양은 매우 다양합니다. [1], greping만으로 충분할 지 말할 수 없습니다.

학습하고 이해하고 싶다면 아마도 전체 config_spec을 조사하고 싶을 것입니다. 보기에서 cleartool ls [file(s)]을 실행하면 Rule: ... 부분이 적용된 config_spec 내의 내용을 다시 참조합니다.

[1] 12 년 전 ClearCase를 사용하기 시작했을 때 수작업으로 몇 줄을 편집했지만 지금은 도구로 생성되어 수백 또는 수천 줄이됩니다.

+0

? 그때 그때는 무엇 이었습니까? ClearCase3, ClearCase4? 아직도 Atria 제품. 어쨌든 config spec을 가리키는 +1. – VonC

+0

@VonC : 1994 년 CC에서 시작했습니다. 버전 번호를 모르겠지만 크기는 크지 않았습니다. –

+0

@Jonathan : 1994 ... CASEVision ™/ClearCase (http://docs.si.com/library/tpl/cgi-bin/browse.cgi?coll=0530&db=bks&cmd=toc&pth=/SGI_Admin/ClrC_AG) : 아마도 ClearCase 2.0 (http://www.encyclopedia.com/doc/1G1-17625730.html) – VonC

2

개념이 반드시 적용되는 것은 아니기 때문에 질문에 대한 쉬운 대답은 없습니다. 즉, 답변도 배경을 탐구해야합니다.

구성 사양은 상황이 현재 작동하는 방식을 이해하는 데 중요한 요소입니다 (catcs). 실제 파일 버전 이름과 버전 기록 (describe, lshistory)을 살펴보면 분기 나 버전이 생성되었을 때의 작업 방식을 이해하는 데 필요한 핵심 정보를 얻을 수 있습니다.

분기는 파일에 독립적으로 존재합니다. 다른 파일의 경우 동일한 분기 이름이 분기 구조의 다른 위치에 나타날 수 있습니다. 분기는 반드시 파일의 레이블이 붙은 버전에서 만들어 질 필요는 없습니다 (때로는 있음). 마찬가지로 레이블은 레이블이 지정된 파일과 독립적으로 존재합니다.

  • xyzscan.c @@/주/TEMP.newfeat.it1/TEMP :

    예를 들어, 나는이 순간에 검토 할 생각 해요 파일 (위장 이름 만 대표)를 고려한다. newfeat.it2/TEMP.newfeat.it3/3

이력으로 탐구하여, I는 TEMP.newfeat.it1 분기가/주/89 @@ 버전 xyzscan.c로부터 작성된 것을 확인할 수있다; 이전 수정 팩은 xyzscan.c @@/main/88 (제품 - 6.54.03 레이블이 붙어 있으며 파일은 여러 릴리스에서 변경되지 않았으며 팩을 고칠 수는 없었습니다)을 사용했기 때문에 레이블이 없습니다./89 버전은 이전에 레이블이 붙은 버전 이후의 버그 수정입니다.

이 새로운 기능은 세 번 반복되었습니다. 현재 설정 사양은 같은 비트 같습니다

element * CHECKEDOUT 

element * .../TEMP.newfeat.it3/LATEST 
mkbranch TEMP.newfeat.it3 -override 

element * .../TEMP.newfeat.it2/LATEST 
mkbranch TEMP.newfeat.it2 -override # Redundant 

element * .../TEMP.newfeat.it1/LATEST 
mkbranch TEMP.newfeat.it1 -override # Redundant 

element /vobs/product/... /main/LATEST 
include /atria_release/cspecs/otherprod/2.34/otherprod-2.34.05 
element * /main/LATEST 

두 번째와 세 번째 'mkbranch'라인은 이제 중복을하지만, 그 지점이 최신 때 관련 있었다.

우리의 스키마에서는 TEMP. * 브랜치에 레이블이없고 (일반 엔지니어는 "TEMP."를 시작하지 않는 브랜치를 생성 할 수 없으며 트리거 스크립트에 의해 적용됩니다).

xyzscan.c 파일이 각 반복에서 수정되었습니다. '설명'사용, 나는 그것을 볼 수 있습니다

  • xyzscan.c @@/주/TEMP.newfeat.it1/TEMP.newfeat.it2/TEMP.newfeat.IT3/0 xyzscan.c @@/주/TEMP.newfeat.it1/TEMP.newfeat.it2/2

  • xyzscan.c @@/주/TEMP.newfeat.it1/TEMP.newfeat로부터 분기 된 .it2/0은 xyzscan.c @@/main/TEMP.newfeat.it1/7에서 분기되었습니다.

하지만 다른 파일 보면 :

  • xyzread.c @@/주요 // TEMP.newfeat.it3/1

난이 아니라는 것을 볼 수 있습니다 반복 3까지 수정 -이 파일에는 분기 TEMP.newfeat.it1 또는 TEMP.newfeat.it2가 없습니다. 또한, 그것은 문제가되지 않습니다.


질문은 묻습니다 :

내가 아이 브랜치 위해 만들어진 볼 수 있습니다. 주어진 하위 분기 이름의 경우, 하위 분기가 작성된 상위 분기와 기본 레이블을 찾을 수 있습니까?

'cleartool describe'를 '-s'(간략) 옵션과 함께 실행하여 버전 번호를 얻을 수 있습니다. 내 예에서, 즉 수 있습니다 :

  • xyzscan.c @@/주/TEMP.newfeat.it1/TEMP.newfeat.it2/TEMP.newfeat.it3/3

찾으려면 분기 된 지점에서, 분기에서 TEMP.newfeat.it2의 버전과 내용이 동일한 지점에서 '/ 0'버전을 확인해야합니다. '/ 0'버전의 전체 설명을보고 이전 버전이 무엇인지 확인해야합니다 ('-s'는 지금 도움이되지 않습니다). 그건 내가 이전 버전 것을 발견 방법이었다

  • xyzscan.c @@/주/TEMP.newfeat.it1/TEMP.newfeat.it2/2

반복 거꾸로 가고. 'describe'의 (전체) 출력에서 ​​TEMP.newfeat.it3이 분기 된 버전에 적용되는 레이블을 볼 수 있습니다. 그러나 분기가 작성된 이후에 해당 레이블이 적용되었을 수 있습니다.

일반적으로 (예에서는 아님) TEMP.newfeat.it3이 분기 된 버전 이후에 TEMP.newfeat.it2와 같은 지점에 이후 버전이있을 수 있습니다. TEMP.newfeat.it2 분기의 추가 변경 사항을 TEMP.newfeat.it3 분기로 병합해야하는지 여부에 대한 질문이 항상 이어집니다. 다행히도 ClearCase는 병합 및 병합 추적 기능이 뛰어납니다.

+0

+1. 언제나처럼 완벽하고 세부적입니다. 버전 0이 핵심입니다. 새 분기에 대한 "선언적"버전이며 상위 분기의 버전과 동일한 버전입니다. – VonC

2

분기는 구성 사양에 지정된대로 해당보기에있는 모든 버전에서 만들 수 있습니다.
시작 지점은 다른 기준 (예 : 날짜, 다른 지점의 LATEST 등)에 의한 레이블 또는 버전 참조 일 수 있습니다.

요약하면 다음과 같습니다. ClearCase는 저장소 기반이 아닌 파일 기반입니다.
즉, 주어진보기에 의해 선택된 각 파일에 대해 다른 기준에서 분기 시작을 결정할 수 있습니다.

보기 내에서 이미 하나의 파일이 수정 된 경우 (예 :이는 새로운 지점을 가지고)을 수행 할 수 있습니다

cleartool descr -l myFile 

당신에게 파일의 확장 경로를 제공해야하는 :

[email protected]@/main/parentBranch/myBranch 

새로운 현재 전 분기의 이름은 당신이 찾고있는 무슨이다 에 대한.
주어진 파일에 대해 해당 파일을 확인할 수 있습니다.

관련 문제