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.
Please sign in to leave a comment.
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