Avoid VCS cleanup?

Is it possible to avoid that the VCS checkout directory is deleted periodicly? I've tried searching around for options to disable cleanup, but haven't found any that concerns VCS - only build history.

My problem is that I have a project with a configuration I use to deploy (MsDeploy) my website to an IIS. If the configuration haven't been run for at while (seems like 1-2 weeks), TeamCity have deleted the checkout-directory and therefor need to transfer the entire repository again. If I run the same configuration once more (after an update to Git) within the next couple of days, only the changes are checked out and everything is done in a matter of seconds. If there is too long between updates to the website, something is deleting the checkout directory, and everything is checked out again and fully compiled from scratch (we use Visual Studio Targets: Build instead of Rebuild to speed up the building process and avoid redeploying files that hasn't been changed).

Here is the log when it's been a while since last use and the checkout directory have been deleted:

[13:35:09] Updating sources: server side checkout (1m:23s)

[13:35:09][Updating sources] Using vcs information from server. Reason: no revision information for buildtype webdev3 and checkout directory D:\TeamCity\buildAgent2\work\638af929cd327996 on agent

[13:35:10][Updating sources] Will perform clean checkout. Reason: Checkout directory is empty or doesn't exist

[13:35:10][Updating sources] Transferring cached clean patch for VCS root: https://xxxx.xxx/yyy/zzzz.git

[13:36:14][Updating sources] Building incremental patch over the cached patch

[13:36:15][Updating sources] Repository sources transferred: 212.76 MB total

[13:36:15][Updating sources] Average transfer speed: 3.26 MB per second

[13:36:15][Updating sources] Removing D:\TeamCity\buildAgent2\work\638af929cd327996

[13:36:15][Updating sources] Updating D:\TeamCity\buildAgent2\work\638af929cd327996

And here is an example of when it hasn't been deleted:

[13:41:02] Updating sources: server side checkout

[13:41:02][Updating sources] Using vcs information from agent file: 638af929cd327996.xml

[13:41:03][Updating sources] Building incremental patch for VCS root: https://xxxx.xxx/yyy/zzzz.git; checkout rules: =>; revision: 60639dd2aa01a2f9fee9c192f35cce408da02bf1 --> ee694c3d27d3ab9a26b0c225c7e4a357c0d4cd2a

[13:41:03][Updating sources] Repository sources transferred: 29.81 KB total

[13:41:03][Updating sources] Updating D:\TeamCity\buildAgent2\work\638af929cd327996

I have already disabled "Periodical clean-up" under Build History Clean-up, and marked "Everything is kept forever" (see attached screenshot), but this doesn't stop the checkout directory from being deleted when it hasn't been used for at while.

Is there any option I have missed? I am using TeamCity Professional 8.1.4 (build 30168).

Thank you in advance

Comment actions Permalink

Look at "Automatic Checkout Directory Cleaning" in https://confluence.jetbrains.com/display/TCD8/Build+Checkout+Directory. I think that might be the reason.

Comment actions Permalink

This sounds exactly like the thing I'm looking for. Thanks a bunch :)
I'll try put it in my configuration, and will reply to this thread in a couple of weeks (when the default setting of 8 days has passed), whether it worked as expected or not.

Comment actions Permalink

Hey mar99

Just wanted to give you an update, after at couple of weeks usage, as promised.

And the conclusion is that it works :)

Thank you for leading me in the right direction.


Please sign in to leave a comment.