2010-06-16 8 views
2

ClearCase 구성 스펙에서 요소 속성 (버전 속성)을 기반으로 버전을 선택할 수 있습니까? 예를 들어 :요소 속성을 기반으로 ClearCase 구성 스펙 선택

element * ...{SOME_ELEM_ATTR==SOME_VALUE&&lbtype(MY_LABEL1)} 

은 "요소"사양의 마지막 부분은 버전 속성에 보이는 버전 선택이기 때문에이 작동하지 않습니다.

내가하려는 것은 내 파일을 두 개 이상의 클래스로 분할하고 다른 "클래스"줄을 다른 클래스의 파일에 적용하는 것입니다. 한 클래스의 모든 요소에 속성을 사용하여 태깅을 시도했지만 설정 사양에서 선택을 기반으로 막 다른 시도를했습니다. 나는 이런 종류의 작업을 수행하기 위해 볼 수있는 유일한 방법은 한 장소에서 하나 개의 클래스의 모든 파일을 넣어 차별화하는 두 번째 구조 (이하 "패턴")을 사용하는 것입니다

element .../all_class1_files/... MY_LABEL1 

을하지만 정말 못생긴 한 클래스의 모든 파일을 한 곳으로 이동하거나 모든 개별 디렉토리 및/또는 파일을 나열하는 giant 구성 파일을 지정해야하기 때문입니다. 사전에

감사합니다 ...

레이

답변

0

한 최초의 솔루션 분기하여 속성 기준을 대체하는 것입니다.
그런 식으로 "주어진 속성을 가진 모든 파일"대신에 하나의 브랜치 또는 다른 브랜치에서 모든 파일에 쉽게 레이블을 지정할 수 있습니다.

이 해결 방법 외에도 일부는 find command based on attribute here (또는 man page)입니다.
그런 다음 find query과 "-exec"지시문을 결합하여 원하는 레이블을 넣을 수 있습니다.
그런 식으로, 당신은 config spec syntax을 뒤죽박죽으로 다루지 않아도됩니다. (정확한 선택 기준을 지원하지 않을 수도 있습니다).


나는 그것을 테스트하지 못했지만, lbtype_sub가 요소, 지점 및 버전 선택이기 때문에 (lbtype 그냥 버전 선택기 반면) 당신이

element * ...{SOME_ELEM_ATTR==SOME_VALUE && lbtype_sub(MY_LABEL1)} 

시도 할 수 있습니다. 그러나 lbtype은 구성 사양 기준의 일부로 보이지 않으므로이 구성 사양에서 작동 할 수 있을지는 의문입니다.

+0

감사합니다. VonC. 감사합니다. 지사 별 선택은 가능하지만 관련 지사가 많아 복잡합니다.파일을 태그하기 위해 "find"를 사용하는 것은 실행 가능한 옵션이 아닙니다. 왜냐하면 이것은 버전이 생성 될 때마다 수행되어야하기 때문입니다. 하지만 "trtype"쿼리 기능을 사용하는 좋은 해결책이 될 수 있다고 생각합니다. –

+0

@ 레이 : 흥미 롭습니다. 실행 가능한 솔루션이있는 경우 여기에 게시 할 수 있습니다 (원하는 경우 공식 솔루션으로 선택할 수 있음) – VonC

0

"trtype"을 선택 기준으로 사용하는 좋은 해결책이 있다고 생각합니다 (요소에서 버전으로 상속되는 유일한 쿼리 함수 인 것으로 나타남). 클래스 1과 Class2의 요소가 그들에 부착 된 더미 트리거의 Class1Files의 andClass2Files이있는 경우, 각각

element * .../{trtype(Class1Files)&&lbtype(MY_LABEL1)} 
element * .../{trtype(Class2Files)&&lbtype(MY_LABEL2)} 

같은 무언가 트릭을 할해야합니다. 이렇게하면 Class1의 파일이 MY_LABEL1과 Class2의 파일이 MY_LABEL2로 선택됩니다. 아직 실제로 시도하지는 않았지만 이것이 어떻게 작동하는지 알려 드리겠습니다.

관련 문제