Why does Perforce occasionally do a clean checkout (force sync) for no apparent reason?

I've noticed that when running a build, Perforce will occasionally be run using the "sync -f" command, even though nothing has changed in the project configuration. The agent it's running on has already had many builds of the same project run on it recently (at least the same day), so it should really re-use the same workspace, otherwise it's a complete waste of time network resources. Especially as our projects use fairly big workspaces (10+ gigs).

We're using agent side checkout. The error message whenever this happens is "[Updating sources] Will perform clean checkout. Reason: Checkout directory is empty or doesn't exist". Why would the checkout directory suddenly not exist?

Is there a way to force the project to always use the same workspace?

1 comment
Comment actions Permalink

By default if you do a history with older CL or presubmit build and the CL version is newer then a full sync always happens.
There are some debug VCS settings you can set to stop this -f happening.

I am also trying to get Jetbrains to fix a p4 -f bug i noted last week but have not had any response yet....


Please sign in to leave a comment.