In Perforce we do a lot of branching and merge. How can we find out the original changelist that one change is introduced?
For example, I submitted a changelist with id 53343 in my own private branch, and two days later, it is merged into corporation branch A, then a week later, it is merged into integration branch B, and in the end, it is merged to the main branch. Now the changelist id is a totally different one, let's say 55445, because it is a merge, which in fact inclucde a lot of changelists, maybe 300 except mine.
How can I get the original one "53343" now?
following is a more detailed description.
For example, I want to know the change history for one file in a depot range.
$ p4 changes //prod/main/platform/abc.txt
Change 560938 on 2017/04/13 by user1@user1:main 'bug fix2'
Change 559384 on 2017/03/24 by user1@user1:main 'bug fix1'
Change 559178 on 2017/03/22 by branchowner@branchowner:ws 'Merge Integration@558992 to main '
We can see in main branch it come from a merge. And use annotate
$ p4 annotate -I //prod/main/platform/abc.txt
.
.
.
554294: Monday morning
554294: I love foot ball
554294: XNES rocks
.
.
.
we can tell the change is first come from 554294
$ p4 describe 554294|more
Change 554294 by user2@user2:coorA on 2017/01/17 19:24:51
Integrate all dev changes to coorA
Affected files ...
.
.
.
... //prod/coorA/platform/abc.txt#1 add
.
554294 is a merge, and in this merge, file abc.txt is added. But in fact this abc.txt is not original created here. I created this abc.txt in my dev branch, but branch keeper copy it from me and did an "p4 add" in his branch. So, now for main branch, it can only see file abc.txt is original come from coorA branch. We lost the real first owner for this file, we can only trace to the branch keeper.
what we want now is get the original owner, but we lost the relationship when it is added in coorA branch, is there anyway to trace back deeper, for example, by file md5sum?