VCS Root - best practice for branching
Hi, I'm having a play with Team City and was wondering if I'm approaching it correctly.
In TFS we have the following structure:
$/product
Trunk
project A
project B
project C
Branch
project A
project B
project C
Just focusing on "Trunk" for now - I'm working on the assumption that I should create a VCS root for "Trunk" and three projects underneath it (each project has its own MSBuild script). The problem with this, is that its looking like any change to project A will kick off a build of projects B & C as well, since they share the same VCS root. Projects B & C are huge and take a long time to build, so this isn't ideal.
I could create a separate VCS root for each project, but that seems to go against the idea of a root directory.
So am I just not getting something? All I want is to specify is a single root per branch, with multiple projects hanging off of that. A change to a single project should force a build in that project only.
Cheers,
Matt.
Please sign in to leave a comment.
Matthew,
You can create a VCS root for Trunk and in the build configurations add checkout rule to the root like:
+:project A=>.
This will effectively limit the sources checked out to files inside "project A" directory. The build will also display only the changes of project A and VCS trigger will start a build only on changes in project A.
That looks like what I want, cheers :-)
Will try it when I get some free time. Right now I'm just playing with a view to replacing Cruise Control, which I'm currently in charge of maintaining. Team City is looking SO much easier to look after.