Perforce에서는 많은 분기와 병합을 수행합니다. 하나의 변경 사항이 도입 된 원래의 변경 목록을 어떻게 찾을 수 있습니까?Perforce에서 원래 하나의 변경 목록을 가져 오는 방법을 찾는 방법
예를 들어, 사설 지사에서 ID가 53343 인 변경 목록을 제출하고 이틀 후 법인 지점 A에 병합 한 다음 일주일 후 통합 지점 B에 병합되고 결국 , 그것은 메인 브랜치에 병합됩니다. changelist id는 실제로는 55445라고합시다. 병합입니다. 사실 많은 changelists가 포함되어 있습니다.
지금 어떻게 원래 "53343"을 얻을 수 있습니까?
다음은 더 자세한 설명입니다.
예를 들어, 저장소 범위의 한 파일에 대한 변경 기록을 알고 싶습니다.
$ p4 changes //prod/main/platform/abc.txt
Change 560938 on 2017/04/13 by [email protected]:main 'bug fix2'
Change 559384 on 2017/03/24 by [email protected]:main 'bug fix1'
Change 559178 on 2017/03/22 by [email protected]:ws 'Merge [email protected] to main '
우리는 병합에서 오는 것을 볼 수 있습니다. 그리고 사용 주석을
$ p4 annotate -I //prod/main/platform/abc.txt
.
.
.
554294: Monday morning
554294: I love foot ball
554294: XNES rocks
.
.
.
우리가 변화를 알 수 있습니다 먼저 554,294
$ p4 describe 554294|more
Change 554294 by [email protected]:coorA on 2017/01/17 19:24:51
Integrate all dev changes to coorA
Affected files ...
.
.
.
... //prod/coorA/platform/abc.txt#1 add
.
554,294에서 병합을하다 와서,이 병합에, 파일 abc.txt이 추가됩니다. 그러나 사실이 abc.txt는 여기에 생성 된 원본이 아닙니다. 내 dev 브랜치에 abc.txt를 만들었지 만 브랜치 키퍼가 나에게서 그것을 복사하고 그의 브랜치에 "p4 add"를했다. 그래서, 이제는 메인 브랜치에 대해서만 볼 수 있습니다. abc.txt는 원래 coorA 브랜치에서 왔습니다. 이 파일의 실제 소유자를 잃어 버렸으므로 지점 유지 자만 추적 할 수 있습니다.
우리가 원했던 것은 원래 소유자를 얻는 것이지만 coorA 분기에 추가 될 때 우리는 관계를 잃었습니다. 예를 들어 파일 md5sum으로 더 깊게 다시 추적 할 수 있습니까?
"branch keeper"*가 수동으로 파일을 복사 한 경우 (즉,'p4 copy' 또는'p4 integrate'를 사용하지 않고) Perforce가 파일을 복사했음을 알리지 않고 그 파일들이 어디서 왔는지를 마법으로 파악하십시오. – jamesdlin