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
Please sign in to leave a comment.
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]:
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.
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
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!