Clean Checkout
Clean Checkout (also referred to as "Clean Sources") is an operation that ensures that the next build will get a copy of the sources fetched all over from the VCS. All the content of the Build Checkout Directory is deleted and the sources are re-fetched from the version control.
Enforcing Clean Checkout
Clean checkout is recommended if the checkout directory content was modified by an external process via adding new or modifying, or deleting existing files.
You can enforce clean sources action for a build configuration from the Build Configuration home page page (see Build Configuration Home Page drop-down in the top right corner), or for an agent from the Agent Details page. The action opens a list of agents/build configurations to clean sources for.
You can also enable automatic cleaning the sources before every build, if you check the option Clean all files before build on the Create Edit Build Configuration> 2.Version Control Settings page. If this option is checked, TeamCity performs a full checkout before each build.
TeamCity maintains an internal cache for the sources to optimize communications with the VCS server. The caches are reset during the Clean-Up. To resolve problems with sources update, the caches may need to be reset manually. To do this, just delete < >/system/caches
directory.
Automatic Clean Checkout
Under certain circumstances TeamCity can detect clean checkout is necessary even if it is not enabled in the VCS settings and not requested by the user from web UI. In such cases all the content of the checkout directory is deleted and it is re-populated by the sources from scratch.
TeamCity performs automatic clean checkout in the following cases:
Build checkout directory was not found (either the build configuration is started on the agent for the first time or the directory has disappeared since the last build). Please note that TeamCity can Agent Working Directory a directory on the agent after a certain idle period.
A user invoked "Enforce clean checkout" action from the web UI
VCS settings of the build configuration were changed
The previous build in this directory was of a build configuration with different VCS settings (can only occur if the same checkout directory is specified for several build configurations with individual VCS settings and VCS Roots)
The previous build in this directory was built on more recent revisions then the current one (can only occur for history build)
There was a critical error while applying or rolling back a patch during the previous build, so TeamCity cannot ensure that checkout directory contains known versions of files.
Also, the clean checkout is performed each time if "Clean all files before build" option is ON in "Version control settings" of the build configuration.