I'm trying to migrate my teams builds from CC.Net to TeamCity. In order to take advantage of TeamCity's better parallelism, I've broken our build up into multiple configurations, for things like utility libraries, services, GUI, installer, and tests. Each of these obviously has a separate working copy.
The problem is our SVN-based source tree is very large (it can take 30 minutes just to get the source tree), so a naive clean and checkout solution won't work. With CC.net I had a nant task that would first do an svn revert, then delete all files not under source control (thus cleaning out things like .obj files), and finally did an update. It was a fast way to get a clean working directory.
TeamCity doesn't seem to be able to do that. I've configured the working directory to checkout Automatically on Agent, and checked Clean all files before build. From the build log, I can see it spent 20 minutes just updating the source code (this is on top of a fairly log running build). This is compared to 38 seconds with the Clean option turned off.
Is there any way to make TeamCity do a more intelligent clean like I did with CC.net? I could always use the same nant task and make it part of the build, but I was hoping TeamCity would have implemented this seemingly vital feature.
Thanks in advance