We use Jenkins for pre-commit verification.
To do this - developer shelve changes under CL. Jenkins job Sync to HEAD, unshelve changes, build and run verification.
If someone submit changes in shelved file and developer don't update and re-shelve this file before verification - submitted changes will be overridden by shelved file without any errors or merge.
Test case:
- create file test.txt with any content
 - submit this file to Perforce under revision 1
 - do any changes in this file and shelve it under CL
 - change this file and submit under revision 2
 - run job
	
- load file from SCM(configured in "Source Code Management>Perforce Software")
 - unshelve CL in build steps
 
 - check that second revision test.txt overridden by file from shelved CL.
 
Resolve Options doesn't change unshelve build step behavior.