TFS 2010: TF10125: The path '$' must start with $/

I realise the error is from TFS 2010, but how do I influence what Team City is calling TFS with?
I can load/check out the solution from the build agent using Visual Studio and it builds just fine.

However, when I try to build via Team City (only 1 build agent on the server running TC) I get this:


Unable to collect changes
java.util.concurrent.ExecutionException:  jetbrains.buildServer.vcs.VcsException: Problem collecting changes for  'TSR Server :: Release' : Error collecting changes for VCS root 'Tsr'
TFS failed. ExitCode: 1, Stdout:: TFS Native Verifier v6.0 Copyright (C) 2006-2011 JetBrains s.r.o.
INFO  - Use Tfs from JetBrains.TeamCity.Tfs.Tfs10Accessor
TFS Native Accessor v6.0 Copyright (C) 2006-2011 JetBrains s.r.o.
INFO  - Connecting to server http://source.someTFSserver.com:8081/tfs
Collect Build Changes from mapping:
Server='http://source.
someTFSserver..com:8081/tfs'
Username='tfs_somedev'
Mapping file='c:\TeamCity\temp\TC-TFS-86-1299794004890.mappipngs'
+:$=>
FromVersion='1'
CurrentVersion='1'
ERROR - TF10125: The path '$' must start with $/
System.Exception: TF10125: The path '$' must start with $/ --->  Microsoft.TeamFoundation.InvalidPathException: TF10125: The path '$'  must start with $/
at  Microsoft.TeamFoundation.VersionControl.Common.VersionControlPath.GetFullPath(String  item, Boolean checkReservedCharacters)
at Microsoft.TeamFoundation.VersionControl.Common.VersionControlPath.GetFullPath(String item)
at JetBrains.TeamCity.Tfs.WorkingFolder..ctor(String from, String to)  in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\WorkingFolder.cs:line  13
at JetBrains.TeamCity.Tfs.WorkingFolder.IncludeRule(String from,  String to) in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\WorkingFolder.cs:line  92
at  JetBrains.TeamCity.Tfs.WorkspaceMappingsFactory.ParseFolder(TextReader  reader) in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\WorkspaceMappingsFactory.cs:line  81
at  JetBrains.TeamCity.Tfs.WorkspaceMappingsFactory.ParseMappings(TextReader  tr) in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\WorkspaceMappingsFactory.cs:line  34
at  JetBrains.TeamCity.Tfs.WorkspaceMappingsFactory.LoadFromFile(String  file) in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\WorkspaceMappingsFactory.cs:line  23
at JetBrains.TeamCity.Tfs.Program.Main(String[] args) in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\Program.cs:line 152


I've obviously changed the username and server.

Any thought would be appreciated.  I really like the feel of Team City (as opposed to CCNet & TFS Build) but I just can't get it to work

3 comments
Comment actions Permalink

I set up a completely new TFS/TeamCity environment on one server using out of the box default options and I get the same error.
The 'test connection' on setting up the VCS connection succeeds, it's just having trouble getting the files.
Server: Windows 2008 (32 bit), latest VS2010, latest Team City, etc.

Firing up VS2010 locally and loading from TFS works fine.
We've written some utilities that run against the TFS API and they all run fine.
I imagine others have TFS & Team City working together, but has anyone managed to get this working out of the box?

[08:30:03]: Patch is broken, can be found in file: C:\TeamCity\buildAgent\temp\cache\temp3609553307096453700patch_9

[08:30:03]:
Failed  to build patch for build #2 {build id=9}, VCS root: tfs:  http://tsr1:8080/tfs $/ {id=3}, due to error: TFS failed. ExitCode: 1,  Stdout:: TFS Native Verifier v6.0 Copyright (C) 2006-2011 JetBrains  s.r.o.
INFO  - Use Tfs from JetBrains.TeamCity.Tfs.Tfs10Accessor
TFS Native Accessor v6.0 Copyright (C) 2006-2011 JetBrains s.r.o.
INFO  - Connecting to server http://tsr1:8080/tfs
Build Patch:
Server='http://tsr1:8080/tfs'
Username='tfs_deen'
Root='c:\TeamCity\temp\TC-TFS-35-1299918602979.mappipngs'
CurrentVersion='1'
ERROR - TF10125: The path '$' must start with $/
System.Exception: TF10125: The path '$' must start with $/ --->  Microsoft.TeamFoundation.InvalidPathException: TF10125: The path '$'  must start with $/
at  Microsoft.TeamFoundation.VersionControl.Common.VersionControlPath.GetFullPath(String  item, Boolean checkReservedCharacters)
at Microsoft.TeamFoundation.VersionControl.Common.VersionControlPath.GetFullPath(String item)
at JetBrains.TeamCity.Tfs.WorkingFolder..ctor(String from, String to)  in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\WorkingFolder.cs:line  13
at JetBrains.TeamCity.Tfs.WorkingFolder.IncludeRule(String from,  String to) in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\WorkingFolder.cs:line  92
at  JetBrains.TeamCity.Tfs.WorkspaceMappingsFactory.ParseFolder(TextReader  reader) in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\WorkspaceMappingsFactory.cs:line  81
at  JetBrains.TeamCity.Tfs.WorkspaceMappingsFactory.ParseMappings(TextReader  tr) in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\WorkspaceMappingsFactory.cs:line  34
at  JetBrains.TeamCity.Tfs.WorkspaceMappingsFactory.LoadFromFile(String  file) in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\WorkspaceMappingsFactory.cs:line  23
at JetBrains.TeamCity.Tfs.Program.Main(String[] args) in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\Program.cs:line 256
--- End of inner exception stack trace ---
at JetBrains.TeamCity.Tfs.Program.Main(String[] args) in  c:\Agent\work\9f2b3673cc66b89\TfsNativeAccessor\src\Program.cs:line 349
, Stderr::
jetbrains.buildServer.agent.impl.patch.PatchDownloaderImpl$1: Server was  not able to build correct patch, most likely due to VCS errors, will  try again.

0
Comment actions Permalink

What was a path to TFS set in VCS root? This path should be at least $/project-name. Our TFS implementation does not support $/ or $ as TFS checkout path.
I believe you posted http://youtrack.jetbrains.net/issue/TW-15770

Please feel free to vote for http://youtrack.jetbrains.net/issue/TW-8921

0
Comment actions Permalink

Spot on.

Problem solved.  It turns out that $/ should really be the $/<TFS Project Collection>
In our case it was also necessary to reference the url as: http://<tfs_server>:<port>/tfs/<TFS Project Collection>

With both of those changes...everything worked fine

Thanks!

0

Please sign in to leave a comment.