I'm trying to replicate the setup described here, with Perforce agent-side checkout: http://devnet.jetbrains.net/message/5284510
The setup I'd like to achieve is to define one VCS root that's shared between all projects. Each project should define VCS checkout rules according to the directories it needs. I can make it work fine with server-side checkout: I add a VCS root with a client mapping set up so that most of the depot is included, then I add projects with more specific checkout rules. However I can't get TeamCity agents to generate the correct Perforce client mapping.
Given a VCS root like this:
...I can make the agent work with a checkout rule like this:
But given the same VCS root, and more specific checkout rules like this:
...I get a blank Perforce client spec generated on the agent machine, and the build fails with a "file(s) not in client view" error.
It's as if TeamCity is looking for an exact match between the project's checkout rule and the right-hand side of the VCS root's client mapping. Apparently the poster at http://devnet.jetbrains.net/message/5284510 made it work OK, but I can't see what I'm doing wrong.
(This is on TeamCity 7.0.2. Server is Linux, agents are Windows. The Perforce version is 2011.1.)