Subversion labeling

i have a build that uses 2 svn url as checkout with checkout rules

svn: https://texas/svn/data/trunk/CSharp/Libs


checkout rule  +:.=>CSharp/Libs
label rule /trunk/CSharp/Libs=>/tags/CSharp/Libs

svn: https://texas/svn/Data/trunk/CSharp/ZebraCode


checkout rule +:.=>CSharp/ZebraCode
label rule /trunk/CSharp/ZebraCode=>/tags/CSharp/ZebraCode

but this results in /tags/csharp/libs/%buildlabel%/contentoflibs


/data is the root
/data/tags/csharp is where the tags should go.

/data/tags/charp/tags/%teamcity.buildlabel%/CSharp/zebracode
/data/tags/charp/tags/%teamcity.buildlabel%/CSharp/libs

So they should endup in the same tags/teamcitybuidlabel dir

The tag should be the snapshot of the work directory the build is run on.
so workdir/randomname/csharp -> /data/tags/csharp/%teamcity.buildlabel%/csharp/

I do not know if this is posible. the root of the problem is think is that we use a unorthodox repository layout.

8 comments
Comment actions Permalink

Hello Willem,

  I'm sorry for delay with the answer.

  If I understand you correctly, corresponding labeling rules for your setup should look like:

   /trunk/CSharp/Libs => /tags/%system.build.label%/CSharp/Libs

   and

   /trunk/CSharp/zebracode => /tags/%system.build.label%/CSharp/zebracode

   Hope, this helps,
   KIR

0
Comment actions Permalink

i have
/trunk/CSharp/ZebraCode=>/tags/%env.build.label%/CSharp/ZebraCode
and added env.build.label as the pattern i use for labelling.

Because it does not seem that it knows system.build.label as a variabele...
But labelling with this results in

/tags/%env.build.label%/CSharp/ZebraCode/TT-rc37049.70

Which is not correct.
So it does not seem to use variabeles values in the labelling and still puts the labelling value after the last dir :(

0
Comment actions Permalink

Willem,

  The labeling code works with %system.build.label% pattern only, and it should be replaced with your label.
  You cannot use %env.build.label% in this place.

  Hope this helps,
  KIR

0
Comment actions Permalink

but when i tried to run with system.build.label the agent is no longer compatible cause it does not know of variabele system.build.label

0
Comment actions Permalink

this works alot better yes!

however it can only label 1 of the roots the other one fails

svn) svn:https://texas/svn/data/trunk/CSharp/Libs 37073
Failed: Failed to set label 'TT-rc37073.77': Labeling the path 'trunk/CSharp/Libs' to 'tags/TT-rc37073.77/CSharp/Libs' has failed with the error: svn: Conflict at '/tags/TT-rc37073.77' svn: MERGE of '/svn/data': 409 Conflict (https://texas)
(svn) svn:https://texas/svn/Data/trunk/CSharp/ZebraCode 37073

TT-rc37073.77



After the build i can label the resource from the changes tab just fine, which seems to be same thing as what the build does.
0
Comment actions Permalink

Hello,

  Looks like a bug, sorry :(. Could you please create issue in our tracker and attach teamcity-vcs.log from teamcity log diagnostic UI.

  Thanks!
  KIR

0
Comment actions Permalink

Thank you for help, hoping to see fix soon :)

0

Please sign in to leave a comment.