当您“接受源”时,您正在记录您希望目标文件是源文件的精确副本;因此,如果您提交文件,它甚至不会从工作区传输(为了节省时间)——相反,它只是在服务器端复制。如果您篡改了工作区文件,这会导致您描述的工作区现在与软件仓库不一致的情况,就像您修改了未打开以供编辑的文件一样。
如果您使用-t
标志提交(用于“篡改检查”),它将根据您选择的解决选项通过比较您的工作区中的内容与您的工作区中的内容来检查被篡改的文件:
C:\Perforce\test\integ>p4 integ source target
//depot/integ/target#2 - integrate from //depot/integ/source#3
C:\Perforce\test\integ>p4 resolve -at
c:\Perforce\test\integ\target - vs //depot/integ/source#3
//Samwise-dvcs-1509687817/integ/target - copy from //depot/integ/source
C:\Perforce\test\integ>echo tampertampertamper >> target
C:\Perforce\test\integ>p4 submit -t -d "submitting tampered file"
Submitting change 190.
Locking 1 files ...
integrate //depot/integ/target#3
//Samwise-dvcs-1509687817/integ/target tampered with after resolve - edit or revert.
Submit aborted -- fix problems then use 'p4 submit -c 190'.
Some file(s) could not be transferred from client.
如果您p4 edit
是文件,它会从 pure 更改copy
为edit
,并且将从工作区而不是源文件中读取:
C:\Perforce\test\integ>p4 edit target
//depot/integ/target#2 - reopened for edit
C:\Perforce\test\integ>p4 submit -c 190
Submitting change 190.
edit //depot/integ/target#3
Change 190 submitted.