How does VCS labelling work on SVN?
Does TeamCity implement "VCS labelling" by creating a copy into branches/ or tags/ ? I have labelling checked on but I'm not sure how it is being applied to my svn repository?
Edited by: Vincent Storm on Oct 13, 2008 2:16 PM
Please sign in to leave a comment.
I've just tried to use VCS labeling and unfortunately I cannot make it working.
My repository has svn repository path
/components/sdk/trunk
and I want to create tags in
/components/sdk/tags/xxx
the URL I check out is svn://...../components/sdk/trunk => sdk
I tried many labeling rules, like
/components/sdk/trunk=>/components/sdk/tags,
../trunk=>../tags, etc. but nothing works,
TC says something like
Failed: Failed to set label 'last-compilable': Labeling the path 'components/sdk/trunk/trunk' to 'components/sdk/trunk/tags/last-compilable' has failed with the error: svn: Path trunk does not exist in revision 12710
well.. it seems that TC ignores my rules.
Am I doing something wrong?
I've tried TC 4.0 EAP and I get a different error message
Labeling process failed: Include rules with empty left part are not allowed in labeling rules
although the rule looks fine to me: /components/sdk/trunk=>/components/sdk/tags
(svn url also ends with /components/sdk/trunk)
so basically I want to tag contents of all trunk
Does labeling work at all?
Is it possible to use the same label name, like "latest-compilable" (svn)?
Igor,
Could you please note:
- the URL you have in the Subversion VCS root
- the URL of the SVN repository root (the topmost directory in the repository)
Note the difference between the paths starting with "/" and not starting with it (it is noted in the note on UI and in the documentation). You should probably use something like:
components/sdk/trunk=>components/sdk/tags
Not at the moment. Please vote/watch the corresponding issue: http://jetbrains.net/tracker/issue/TW-3652
Vincent,
Yes, TeamCity makes a copy according to the labeling rules defined for the SVN root.
AFAIK copy in Subversion is rather light operation with no actual data cloning.
Not sure if I'm asking the same question as Igor but is it possible to trigger a build based on a label like VER_1_RC ?
What I am trying to accomplish is to have anything in the branches/ ( or tags/ ) directory that has _RC in the name to trigger a build.
Possible?
Vincent,
You can configure a VCS root to get sources form a label (at least for SVN).
You can also set VCS triggering rules to trigger a build only if a change occurred in a directory matching specific pattern.
However, TeamCity does not support changing VCS root settings - they can only be set by a user. We have s feature request to allow using references in the VCS root, but I doubt this can help in the case you describe.