2011-11-01 3 views
0

큰 배경을 가진 작은 질문이 있습니다. 짧은 버전을 물어보고 조금 더 확장 해 보겠습니다.Perforce - 주어진 변경 목록 범위 당 델타 제거

내 질문의 짧은 버전은 다음과 같습니다.

상황을 상상해보십시오 - 변경 목록이 1000에서 1004까지입니다. 그런 다음 변경 목록 1004에서 B 지점을 만들고 추가 수정본 (1005, 1006)을 두 개 추가하십시오. 그 후에 브랜치 B에서 changelist 1002가 도입 한 델타를 제거해야합니다. 어떻게 할 수 있습니까? 지점 A에서 필요하다면 문제 없습니다. 1001로 롤백하고 1003-1004를 다시 통합하십시오. 그러나이 변경 목록이없는 지점의 변경 목록에 소개 된 델타를 제거해야합니다. 그러면이 "선택 삭제"를 어떻게 할 수 있습니까?

내 질문의 가사 배경은 다음과 같습니다. 이전 ClearCase 엔지니어였던 옛날에는 'subtractive merge'라는 기능을 사용하기도했습니다. 필자는 "병합"명령을 사용하여 델타와 "제거"와 같은 플래그를 식별하는 2 가지 버전을 지적했습니다 (이것은 몇 년 전이었고 정확한 플래그는 잊었습니다). 델타가 실제로 도입 된 시점과 상관없이 지적 된 델타를 제거했다는 것입니다. 1 커밋이나 1 년 전입니다. 그래서 어떤 버전을 삭제하지 않고 롤백으로 사용할 수있는 빼기 병합입니다. 다소 델타를 "잘라 버릴"수 있습니다.

이제 Perforce를 사용하고 델타를 "현재"에서 내가 지정한 변경 목록으로 다시 변경하는 변경 목록을 만들 수있는 "롤백"명령을 볼 수 있습니다. PERFORCE 지식 기반은 델타를 제거해야 할 때 어떻게해야하는지 알려줍니다. 그리고 여러 변경 목록을 제거해야하는 경우 전체 changelists 스택을 "now"에서 이전 changelist로 롤백 한 다음 버리려는 변경 목록을 제외한 모든 것을 다시 통합해야합니다. 따라서 N 개의 변경 목록을 제거한 다음 N-1 개의 변경 목록을 다시 통합하십시오. 나는 모른다. .. 그것은 나를위한 오버 헤드처럼 보인다.

그래서 Perforce 사용자에게 Perforce에서 "빼기가 가능한 통합"을 수행하는 방법을 알고 있습니까?

미리 감사드립니다.

답변

0

내가이 작업을 수행했다면, 나는 changelist 1001에서 지점 A를 기반으로하는 지점 C를 만들 것이다. 그런 다음 지점 A와 B에서 필요한 추가 작업을 C없이 당겨서 물론 changelist 1002 A.

+0

가장 쉽지만 간단하게 해결할 수있는 솔루션이기 때문에 이미 그랬습니다. 나는 단지 "멋진"해결책을 찾고 있었다. :) – Yury

2

브랜치 B에 이전 통합 히스토리를 무시하기 위해 -i 플래그를 사용하여 1001에서 모든 변경 사항을 가져 와서 브랜치 B에 1007 변경 목록을 만듭니다. 그런 다음 맨 위에 1005 및 1006을 다시 통합하십시오. 1005와 1006이 1002-1004의 일부 변경 사항을 건드리지 않는 한, 당신은보다 선택적이어야 할 수도 있습니다.

+0

공식적인 문서에서는 롤백 (재 통합 적용)과 나머지 변경 목록을 맨 위에 업데이트하는 것과 거의 같은 방법이다. 그러나 이것은 제가 언급 한 기능에 가깝습니다. 감사합니다. – Yury

+0

어쨌든, 어떻게 든 빼기 병합을하는 것이 좋습니다. – Yury

+0

1003과 1004를 놓치지 않습니까? – BeeOnRope

관련 문제