2013-04-14 2 views
3

ClearCase에 대한 질문이 있습니다. 도와주세요, 제발! config spec은 언제 작동합니까? 체크 아웃 또는 체크인을 클릭하면 나는 test.c하고 난 다음 내가 설정 사양을 변경 한 다음 내가 test.c을 수정 설정 사양ClearCase의 구성 사양

element * CHECKEDOUT 
element * .../branch_1/LATEST 
element * /main/LATEST -mkbranch branch_1 

있습니다

element * CHECKEDOUT 
element * .../branch_2/LATEST 
element * /main/LATEST -mkbranch branch_2 

가 그럼 난 test.c에서 확인하고 내가 한 : /main/branch_1/1를 만들었습니다. 그러나 왜?

답변

3

는 config 사양은 각 업데이트에 체크 아웃에 규칙을 적용하고, 체크인에 (그러나 당신이 그것을 것이라고 생각하지으로)합니다.

체크 인하면 체크 아웃 된 분기 (여기서는 branch_1)에 새 버전이 생성됩니다.
새로운 버전은 새로운 구성 사양으로을 선택하지만, 체크 아웃되어있는 지점에 의해 변경되지 않습니다 새로운 구성 사양을 말했다하지 않을 수있다. test.c이미 아무것도 변경되지 않습니다 (branch1에) 체크 아웃 동안

branch2branch1 변경. branch_1으로 체크인합니다. 당신은, 당신은 앞으로 모든 체크 아웃/체크 인이 test.c에 대해 같은 지점에 일어날 것이라는 점을 깨달을 필요가 (심지어 두 번째 구성 사양으로) test.c을위한 체크인에 branch1에 버전을 만들 것입니다 이제

이유는

는 해당 분기
  • 규칙 element * /main/LATEST -mkbranch branch_2에 새 버전을 유지합니다 규칙 element * branch_1/LATEST 버전 메인에서 체크 아웃 한 경우에만 유효합니다
  • (, 그것은 branch1과 TEST.C가 더 이상 /main 없습니다입니다 : /main/branch1)

    이 구성 사양은 branch2에 (branch1test.c의 첫 번째 체크인 후) 모든 새 버전이 완료되었는지 확인합니다 :

    element * CHECKEDOUT 
    element * .../branch_2/LATEST 
    element * ../branch_1/LATEST -mkbranch branch_2 
    element * /main/LATEST -mkbranch branch_2 
    

    규칙이 중요하다 순서를 첫 번째 때문에 적용될 수있는 "승"(즉, pothers는 무시됩니다).
    는 "Config Spec to display labeled files from 2 branches"에서 설정 사양의 구체적인 예를 참조하십시오. 앞서 설명 된 바와 같이 test.c의 첫 번째 체크인 후, 당신은 branch1에서 만든 새 버전을 얻을 것이다


    참고.

    그러나 두 번째 구성 사양은 /main/1하지 /main/branch1/1을 선택합니다.때문에 두 번째 구성 사양의 잘못된 규칙이다

    :

    element * branch_1/LATEST 
    

    맞는 버전을 선택 것이 하나

    element * .../branch_1/LATEST 
    

    그러나 두 번째 구성 사양은 branch1에 대한 아무런 규칙이없는 경우 test.c은 여전히 ​​/main/1으로 선택됩니다. branch2에 생성 된 버전이 없으므로 element * /main/LATEST에만 해당합니다. r ule을 적용 할 수 있습니다.

  • +0

    대단히 감사합니다. 나는 절대적인 초보자이며, 그것은 나를 위해 어렵다. "branch.c의 branch.c가 이미 체크 아웃되어있는 동안 branch1을 변경하면 아무런 변화가 없으며 branch_1에서 체크인 될 것입니다."라는 것을 이해하지 못합니다. " 내가 test.c를 다시 보았을 때 어떤 것이 선택 될 것인가? – all

    +1

    @all * 두 번째 * 체크 아웃은 현재 설정 한 사양 (수정 한 것)에 따라 수행되므로'branch1' 만 남게됩니다 ('branch2'에서 메인의 최신 버전 만 체크 아웃되기 때문에). 두 번째 체크 아웃에서 branch2를 맨위보고 싶다면 추가 선택 규칙 인 'element * .../branch1/LATEST -mkbranch branch2'가 필요하며 두 번째 위치에 놓습니다. – VonC

    +0

    그것은 나를 위해 매우 어렵습니다 :) 감사합니다, 이해하고 싶지만 ... – all