How do I configure subversion tagging without tags directory on build agent?

I am having problems getting subversion tagging to work without changing the VCS root to be above my trunk directory. If I place the VCS root above my trunk directory then the build agent is burdened with checking out everything in tags and branches as well, which is not a performant solution as the number of tags increases. Nothing in the documentation provided clear guidance, including the documentation on labeling rules. It seems there are no VCS checkout rules for the subversion VCS plugin in the 7.* versions of TeamCity.

Environment:
* I am currently using server based checkouts
* I am using TeamCity Enterprise 7.1.4 (build 24331)

=============================================
For example consider the following directory structure:

http://mysvnserver/myproject/trunk
http://mysvnserver/myproject/tags
http://mysvnserver/myproject/branches

=====================
VCS root of:
http://mysvnserver/myproject/

Labeling rules:
trunk=>tags

Result:
Labeling works but the build agent has everything below myproject checked out including the entire contents of the tags and branches directory.

======================
VCS root of:
http://mysvnserver/myproject/trunk

Labeling rules:
=>tags

(Labeling rule variations tested included: .=>tags and /=>tags)

Result:
Labeling fails. An examination of the VCS log reveals an error complaining about a labeling rule with an empty left hand argument. Variations on the same labeling rule had the same result.


==========================
My guess is I should have a VCS root of http://mysvnserver/myproject/trunk and a labeling rule that somehow does a remote label instead of a local label, but I haven't been able to figure it out.

==========================

Thank you for your time and effort spent answering this question.
1 comment
Comment actions Permalink

Hello James,

   If the SVN repository root is http://mysvnserver,
   you can use these labeling rules:

   /myproject/trunk=>/myproject/tags

   In this case, it will work both for http://mysvnserver/myproject/trunk and http://mysvnserver/myproject  VCS Root urls.

   Also, TeamCity supports VCS checkout rules with checkout on agent. So, you may have
   VCS Root: http://mysvnserver/myproject 
   Checkout rules: trunk => .

   This should work.

   Hope, this helps,
   KIR

0

Please sign in to leave a comment.