Here's my situation: I have a build configuration for a project that relies on several different Git repositories; the build pulls code from all of them and compiles all of them as part of a single job. One of the repositories is the "main" repository, which has a config file that defines all of the other repos to pull code from and where they're placed at in the build space. When the build actually runs, the build system used for the project automatically clones or updates all of the involved repositories before compilation starts.
So, I want to be able to trigger a build any time files change in any of the repositories, but I only need TeamCity to pull one of them, since the build script pulls the rest of them. It doesn't hurt anything to have both TC and the build script pull them, but it does significantly slow down build time; there are enough repos that it can take close to a minute just to run "git pull" on all of them even if nothing has actually changed.
I've figured out a workaround already; I can set the VCS Checkout Mode in the build config to "Do not check out files automatically", which will cause it to monitor all of them for changes but not check them out, so I can handle the checkout as a step in my build script. This is pretty kludgey and I would rather be able to tell TC to monitor all of them but only check out one of them, though.
I've also tried setting individual checkout rules on the repos to "-:.", so TC won't check out any of the files in them, but that seems to make TC also not monitor any of those files for changes.
Is there a better way to do this that I'm missing, or should I make a feature request?