Unable to determine the workspace using TF.exe

隐身守侯 提交于 2019-11-30 17:08:27

From Forums MSDN: Mr. Hofman

http://social.msdn.microsoft.com/Forums/en/tfsbuild/thread/82b13bfd-5fd7-45f7-a681-d84c9ea52765

Change the working folder for the tf get to a folder that is mapped by the workspace.

Execute the command from a folder where the workspace is mapped

(for example if you do it from console:

cd c:\sources\myteamproject

tf get ...

)


Key: Change the working folder for the tf get to a folder that is mapped by the workspace.

I use command pushd C:\Temp\Team2 in my script file.

Update: Comments by Ryan Cromwell

You can create and map a workspace in your script with the following. The second command works, because the first workspace is created in the 'blah' folder. The '.' in the second command is saying map '$/' to the current directory (blah). You could change that to be a named folder or subfolder if you choose.

Create a new workspace
C:\projects\blah>tf workspace /new blah /noprompt /collection:http://<host>:<port>/tfs/<collection> /login:<username>,<pwd>

Map a path in that workspace
C:\projects\blah>tf workfold /map $/ . /login:<username>,<pwd>

Ryan Cromwell

This extends @Kiquenet answer. It wasn't easily done in the comments :(

You can create and map a workspace in your script with the following. The second command works, because the first workspace is created in the 'blah' folder. The '.' in the second command is saying map '$/' to the current directory (blah). You could change that to be a named folder or subfolder if you choose.

Create a new workspace
C:\projects\blah>tf workspace /new blah /noprompt /collection:http://<host>:<port>/tfs/<collection> /login:<username>,<pwd>

Map a path in that workspace
C:\projects\blah>tf workfold /map $/ . /login:<username>,<pwd>

I had this problem in team city executing a ps1 file with the following:

tf resolve FND.sql /auto:KeepYours

tf checkout FND.sql /noprompt

tf checkin FND.sql /noprompt

when I executed it in a PS window, it worked fine, but when executed by Team City, I got the following response for each tf call:

Unable to determine the workspace. ...

Trying to obtain more information about what was going on, I inserted the following statement before the 1st tf call:

tf workfold

when I ran Team City the next time, the tf workfold showed the mapping that was not previously recognized, and the existing tf commands started working.

It still worked when I took out the tf workflold command.

I don't understand it, but maybe this will work for other people with this problem.

I had previously tried several recommendations from this and other websites without success.

Hope this helps someone.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!