Multiple vcs roots and TFS not working in 4.5

TC versions:  4.5.4 (build 9071) Enterprise

When running a build with multiple vcs roots and using TFS as source control there are some issues.
1. If the checkout is set to Agent then the resulting downloaded files are only made up of the second root. (i don;t know if the file in the first root were downloaded and then deleted or if they were just not downloaded)
2. If the checkout mgnode is set to server, All of the files are dowloaded but you get an "Unable to determine the workspace." error.

I'm going to guess that the error in 2 would also be present in 1, it's just that my script errors out before it does anything with the TFS server as the files it needs are not getting downloaded.

Clean all files before build is checked.
Neither root has any checkout rules.

Has anyone gotten this to work?

thanks
--eric

4 comments
Comment actions Permalink

Eric,

Could you please provide information about your configuration:
  - VCS roots settings
  - teamcity-agent.log from build agent (buildagent/logs/teamcity-agent.log).


0
Comment actions Permalink

Agent log file is listed below. This was with the vcs settings set checkout on agent, which is what I need as I need to check some files into tfs when I'm done.
Runner is NAnt.
VCS Settings attached,
VCS roots are nothing special.One points to $/Sales/Main The other to $/Shared/Scripts/Distributed
Neither root has any checkout rules.

[2009-12-28 16:29:16,767] out - ----------------------------------------- [ Sales::Increment Version #27 (buildId = 10841) ] -----------------------------------------
[2009-12-28 16:29:17,251] out - NAnt 0.85 (Build 0.85.2478.0; release; 10/14/2006)
[2009-12-28 16:29:17,251] out - Copyright (C) 2001-2006 Gerry Shaw
[2009-12-28 16:29:17,251] out - http://nant.sourceforge.net
[2009-12-28 16:29:17,251] out -
[2009-12-28 16:29:18,282] out - Buildfile: file:///C:/TFSProd/Team City Build Agents/Agent 99/work/36d02c34fd7ee5ee/IncrementVersion.build
[2009-12-28 16:29:18,298] out - Target framework: Microsoft .NET Framework 3.5
[2009-12-28 16:29:18,298] out - Target(s) specified: execute
[2009-12-28 16:29:18,298] out -
[2009-12-28 16:29:18,314] out -      [echo] Base directory: C:\TFSProd\Team City Build Agents\Agent 99\work\36d02c34fd7ee5ee
[2009-12-28 16:29:18,314] out -      [echo] Library directory: C:\TFSProd\Team City Build Agents\Agent 99\work\36d02c34fd7ee5ee\Libraries
[2009-12-28 16:29:18,314] out -      [echo] Current directory: C:\TFSProd\Team City Build Agents\Agent 99\work\36d02c34fd7ee5ee
[2009-12-28 16:29:18,314] out -      [echo] Version: 27
[2009-12-28 16:29:18,314] out -      [echo] CheckOut directory: C:\TFSProd\Team City Build Agents\Agent 99\work\36d02c34fd7ee5ee
[2009-12-28 16:29:18,314] out -
[2009-12-28 16:29:18,314] out - execute:
[2009-12-28 16:29:18,314] out -
[2009-12-28 16:29:18,329] out -
[2009-12-28 16:29:18,329] out - find.workspaces:
[2009-12-28 16:29:18,329] out -
[2009-12-28 16:29:21,189] out -      [exec] Server: tfsprod.idtdna.com
[2009-12-28 16:29:21,189] out -      [exec] Workspace                              Owner      Computer   Comment
[2009-12-28 16:29:21,189] out -      [exec] -------------------------------------- ---------- ---------- ------------------
[2009-12-28 16:29:21,189] out -      [exec] TeamCity-A2-aynan3vfhmp42tbpmttcduzid  tfsbuilder DOTNETDEV2 TeamCity checkout
[2009-12-28 16:29:21,189] out -      [exec] TeamCity-A2-f7wjl03b5tu62ufp8st0pq7894 tfsbuilder DOTNETDEV2 TeamCity checkout
[2009-12-28 16:29:21,189] out -      [exec] TeamCity-A2-fr0b6on3jk772oanoj7lf2fbe2 tfsbuilder DOTNETDEV2 TeamCity checkout
[2009-12-28 16:29:21,204] out -      [exec] TeamCity-A2-mxpjymxj6j522uj99145v0xxl2 tfsbuilder DOTNETDEV2 TeamCity checkout
[2009-12-28 16:29:21,204] out -      [exec] TeamCity-A2-qb3izcngyll82neljbkn9j7i22 tfsbuilder DOTNETDEV2 TeamCity checkout
[2009-12-28 16:29:21,204] out -      [exec] TeamCity-A2-zadmobq8pf462oj5flkh0pgja  tfsbuilder DOTNETDEV2 TeamCity checkout
[2009-12-28 16:29:21,423] out -
[2009-12-28 16:29:21,423] out - checkout.assemblyinfo:
[2009-12-28 16:29:21,423] out -
[2009-12-28 16:29:22,720] out -      [exec] No matching items found in C:\TFSProd\Team City Build Agents\Agent 99\work\36d02c34fd7ee5ee\Libraries\AssemblyInfo.cs in your workspace.
[2009-12-28 16:29:22,970] out -
[2009-12-28 16:29:22,970] out - BUILD FAILED - 0 non-fatal error(s), 1 warning(s)
[2009-12-28 16:29:22,970] out -
[2009-12-28 16:29:22,970] out - C:\TFSProd\Team City Build Agents\Agent 99\work\36d02c34fd7ee5ee\IncrementVersion.build(34,6):
[2009-12-28 16:29:22,970] out - External Program Failed: c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.exe  (return code was 1)
[2009-12-28 16:29:22,970] out -
[2009-12-28 16:29:22,970] out - Total time: 4.7 seconds.
[2009-12-28 16:29:22,970] out -
[2009-12-28 16:29:23,157] err -
[2009-12-28 16:29:23,157] out -




Attachment(s):
vcs settings.png
0
Comment actions Permalink

Both of your VCS roots are checked out to the same folder. This configuration is not allowed when configuring TFS workspace. This is why you get strange result when checkout on agent is enabled. TeamCity tfs utility created first workspace, checks out files for root 1 than it tries to create second workspace pointing to the same folder. TeamCity tfs utility removes files and existing workspace to solve the error.

Could you please try to specify checkout rules to split checkout folders of 2 VCS roots: say root1 will have +:=>A and the second root: +:=>B

Thanks!

0
Comment actions Permalink

That worked.
Thanks.

0

Please sign in to leave a comment.