Fixed bug in RECORD_MERGE processing.
After BBI creates the temporary workspace and maps it to a path on the
server, it does a 'p4 flush' rather than 'p4 sync' prior to doing UPDATE,
COPY, or RECORD_MERGE processing.
That's a performance optimization; flush is a 1000x faster than a sync,
since it only says it syncs files, without actually syncing them. For
UPDATE and COPY actions, it's entirely appropriate to skip the actual
sync, since UPDATE and COPY put the correct file content they want in
place anyway.
But for RECORD_MERGE, which needs to do a 'resolve' check, the fact that
it did a 'flush' and not a real 'sync' mattered, since it really needs the
workspace contents to be accurate before the resolve. That's where
the tamper check saved the day. Perforce was thinking, "OK, these should
match the target files exactly, with no change, since a 'resolve -ay' was
done. And when it went to verify that, the tamper check failed.
Once figured, the fix was simple: For the RECORD_MERGE action, it now
does a real 'sync' rather than a 'flush'.