Perforce client-server architecture is a bit confusing: the “check” command reports the status of files on the server , but the message “tampered with” from “p4 resolve 'warns you of a problem with the state of files on your client .
From the small amount of information you provided, it is clear that:
- Edit 9049 added the source file, with A3269 digest ...
- Change the 9070 forked source file to the target. Of course, the digest is the same for the source and target, since the branch was a perfect copy of the file.
- Edit 22793 changed the source file, and therefore its digest changed
- Then you try to integrate change 22793 from source to target.
In most cases, this integration would be simple “safe,” since the file was modified only in the source, and the target was a perfect copy of the previous version of the source.
However, the permission command looked at your copy of the workstation of the target file and found that the file you have there is not a file with A3269 digestor ...
Since the permission command was about to replace your copy of the target file on your workstation with the combined result, it does not want to do this if there is a chance that you made changes to this file (without opening the file for editing) that you do not want to lose.
So, “resolve” is trying to tell you to look at a copy of the target file that is currently located on your workstation (for example, using a text editor) and see if you really made changes to this file.
If you have done this and you want to save these changes, then you will not be able to perform this integration at this time; you need to open the file for editing instead (using "edit -k" to save the modified copy of the file, of course) so that Perforce can merge your edited copy with the changes from 22793.
If you did not make changes to the target file, or if you made changes, but do not want them, then you need to explicitly discard these changes, for example:
- return pending integration into the target file
- Running 'p4 sync -f target-file'
This is the type of information that "allows" trying to communicate in this very brief
filepath tampered with before resolve - edit or revert.