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

6 comments
Comment actions Permalink

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?

0
Comment actions Permalink

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)?

0
Comment actions Permalink

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

Is it possible to use the same label name, like "latest-compilable" (svn)?

Not at the moment. Please vote/watch the corresponding issue: http://jetbrains.net/tracker/issue/TW-3652

0
Comment actions Permalink

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.

0
Comment actions Permalink

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?

0
Comment actions Permalink

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.

0

Please sign in to leave a comment.