우리는 서로 다른 지점에 두 개의 동일한 버전이있는 동일한 파일에 대해 이야기하고 있습니다. 각 동일한 파일에 대한 간단 DIFF 도구 (같은 인스턴스 kdiff3)
를 사용하여 (동적 뷰보다 읽기 액세스를 빠르게 때문에 스냅) 검출
들을 검출하기위한 가장 쉬운 방법은 2 개 샷보기 통해서 두 개의 다른 분기에서 두 버전 사이에 병합 화살표를 그릴 수 있습니다. "Merge arrow in clear case"을 참조하십시오. 화살표 에 ClearCase를 충분히 될 것입니다 병합
하지 고려 (즉 이 무시) 다음 정기 ClearCase를 병합하는 동안 그 같은 파일을.
두보기가 스냅 샷 각보기의 동일한 복사본을 가지고 있기 때문에 같은 동일한를 표시 branch1
에 대한 몇 가지 일반적인 파일이 :
영업 이익이 있다고 지적.
내가 필요한 것은 다른 지점에 있지만 내용이 동일한 파일 일뿐입니다.
다시, cleartool descr -fmt
접근 방식이 유용합니다 : 그것은 당신이 자신의 모든 확장 경로 요소를 설명 할 수 있습니다 (%n
로 : /main/x/branch1/y
일) : 그런 식으로, 두보기에 존재와 "발견 된 파일 이 2 개 개의 다른 확장 된 경로 이름이 발견되면은 diff 도구에서 "동일합니다, 당신은 확인할 수 있습니다, 또는 같은 하나
원본을 (이 경우, 해당 파일에 아무것도 할 필요가 없습니다) 대답 : 다른 브랜치에있는 두 개의 동일한 파일 "rebase/merge 중 불필요한 두통을 일으키는"일반적으로 악의적 인 쌍둥이.
official IBM documentation about Evil Twin 간단한 cleartool find에 대한 조언 않습니다 (당신은 또한 old 2010 video on it있다). fmt_ccase과 결합
, 당신은 descr -fmt "%En %On\n"
으로이 개 검색을 실행할 수 있습니다 : aview에서
- 하나를
branch1
- 하나에 뷰에서 요소의 전체 이름을 표시 할
branch2
에 oid (object id)와 함께 발견되었습니다 : 동일한 이름이지만 oid가 다른 두 개의 파일은 악의 쌍둥이입니다.
"What's the easiest way to detect “evil twins” in Rational ClearCase?"
신속한 답변을 보내 주셔서 감사합니다. 내 상황이 사악한 쌍둥이가 아닐 수도 있습니다. foo.c가 \ main에 있다고 가정하면, 한 사람이 \ main \ 1 \ branch1에 foo.c를 만들고 편집하고 변경합니다. 나중에 다른 사람이 branch1에서 체크 아웃하여 branch2에 만듭니다. 따라서 \ main \ 1 \ branch1 \ 3 \ branch2. 이 시점에서 branch2 요소가 체크인되고 branch1 (branch1 \ 3)의 세 번째 버전과 다릅니다 (branch2 \ 1). 나중에 누군가 branch2 \ 1을 체크 아웃하고 그것을 편집하고 branch1 \ 3과 동일하게 branch2 \ 2를 만들 때이를 검사합니다. branch1과 branch2에서 foo.c가 동일하다는 것을 어떻게 알 수 있습니까? – user3328803
나는 당신이 제안한 명령을 실행함으로써 검증했고 파일은 양쪽보기에서 동일한 OID를 갖는다 (하나는 branch1을, 다른 하나는 branch2를 본다). 그래서 그들은 정의에 의해 악의가 없다. 그러나 두 파일 모두 동일한 내용을 가지고 있으므로 거대한 VOB에서 이러한 모든 파일을 찾아야합니다. 어떤 도움을 주시면 감사하겠습니다 !! – user3328803
@ user3328803 좋아, 현재 상황을 해결하기 위해 내 대답을 편집했습니다. – VonC