vcs: Team Foundation Server
Given the vcs structure below, I want an agent to run a nant script that:
1. Updates the build number for all the contained projects to w.x.y.z (build number from TC)
2. Builds and nunit tests all the projects in $Root\Dev
3. Merges $Root\Dev into $Root\Production (done via tfs command line)
4. Branches $Root\Production into $Root\Previous Versions\w.x.y.z (done via tfs command line)
So far 1 and 2 are done and I don't foresee any major issues with 3 and 4 as we do that now from the command line.
However my problem lays in the vcs $Root. When the project runs, TC tries to download everything in the root including all the previous versions, even when they haven't changed. These files aren't needed for any of the building, branching etc. but TC downloads them becuse they are in the root. Currently this takes around 15-20 minutes and will only get worse as more versions are added. Because I'm updating files and checking them back in, I need to do Agent side vcs checkouts, so I can not use the vcs checkout rules to prevent TC from downloading all those extra files. So my question is, what is the best way to prevent all these files from downloading? Or is there a different way to accomplish what I'm trying to do.