0
votes

I'm trying to configure TeamCity for use in our continuous integration.

Our project has approximately 35 mercurial repos spread across 4 cities. All in all the code in the repos are approximately 30GB in size.

Our problem is that if we add/remove a repo from the VCS roots of a build configuration, the configuration automatically does a complete clean re-checkout of all repos. This adds an extra 3 hours to our build cycle.

Is there anyway to turn this off?

We have TeamCity versions 7.0 and 7.1

UPDATE:

Additional details for one of the build configurations:

Name: BE - Full Build
Description: none
Build number format: %AssemblyBuildNumber%, next build number: #%AssemblyBuildNumber%
Artifact paths:
none specifed
Build options:
hanging builds detection: ON
status widget: OFF
maximum number of simultaneously running builds: unlimited
Version Control Settings edit »
VCS checkout mode: Automatically on server
Checkout directory: default
Clean all files before build: OFF
VCS labeling: disabled
Attached VCS roots: 
< All the repos with no rules and no labels >
Show changes from snapshot dependencies: OFF
1
Are you trying to a) prevent TeamCity from triggering a build when the new repo is added or b) prevent TeamCity from doing a clean checkout of those repos?John Hoerr
Basically, we have a build configuration that clones all the repos each into their own folder and creates windows junctions to consolidate all the repos together into one source directory. This then triggers another build configuration that performs the actual build. The problem is that is we add a repo to the checkout configuration, all the repos are re-checkedout instead of just the new one.Tal Even-Tov

1 Answers

0
votes

Perhaps an agent side checkout + local mirror could help you. Take a look at internal properties section here: http://confluence.jetbrains.net/display/TCD7/Mercurial