[p4] Issue with edit on integrate

Robert Cowham robert at vaccaperna.co.uk
Fri Jan 5 03:52:41 PST 2007


> When you integrate a file and want to edit it, you need to 
> reopen it for editing. Otherwise Perforce assumes the copy it 
> has on the server is the same as your copy and doesn't bother 
> to fetch your changes.
> 
> In some cases, during resolve, I believe the file is 
> implicitly opened for editing so it works in those cases.

Note the new feature in 2006.2 for a related issue:

	Client file tamper checking - #101065, #101345, 101699 * **

	    'p4 submit' will now check that files integrated and resolved 
	    with 'am', or 'ay'  are not modifed after 'resolve' and
	    before 'submit'.  If such tampering is detected then an error 
	    will display the modified file and request that the file be
	    re-edited or reverted in order to complete the submit.

	    e.g.

	    //client/main/foo tampered with after resolve - edit or revert.

	    To check for tampered files before submitting, 'p4 diff -sb'
	    will now report files which are open for integration and have 
	    been resolved but have been modified.  These files can be 
	    reopened for edit with the command 'p4 diff -sb | p4 -x - edit'.

	    Note that in order for tamper checking to work with files 
	    resolved with 'am', a 2006.2 client as well as the server
	    is required.

	    Tamper checking for branch/sync files and resolve 'at'
	    files is not done at submit time, but 'p4 diff -sb' will
	    report those files.

	    Tamper checking is not done on files imported from a remote
	    depot.

	    (Bug #17607, #15928, #15654, #20029, #20587)

The default for integrate to "branch" a file is to copy down the file to
your workspace while doing the integrate so that you can start working
straight away (saves a separate sync afterwards).

Personally, to avoid accidental modification, I prefer to "integ -v"
(virtual does it all on the server and you don't get any local copies to
tempt you!) and then sync after the submit. Makes things clearer all round
at the expense of an extra action - but no difference in speed really since
the integ/sync does the same thing (though doing via integ does allow local
testing before submit, but that is less likely I think).

The above changes show that various people have had issues with the
resolving and changing files - I would like to see the tamper as the default
for branch/sync too perhaps.

Robert


More information about the perforce-user mailing list