I have a git repository which looks like
In TeamCity I then have a project setup for each of them. NSISInstaller has a dependency on both of the others.
When I change a file in CSharpProject, TeamCity reports - Pending (1) in all.
This is really annoying not only because it's inaccurate, but because if I run NSISInstaller, it causes all three projects to be rebuilt.
I get that in Git you can't just grab a subfolder and you need to get the entire repository. And this doesn't bother me. But, teamcity should allow us to specify a rule to specfy which folders to look at, or to ignore, when deciding if a project has Pending changes.
I'm aware that I can specify in a VCS trigger to trigger only when a file in CSharpProject changes.
But this becomes useless when a dependency is going to cause CPlusPlusProject to build anyway.
I know that people will say the solution for this is "Submodules"
But from what I can see, you give up too much by using submodules.