无法使用TF.exe确定工作区

Kiq*_*net 21 workspace scripting tfs team-build

我有这个脚本(bat文件)

tf workspaces /s:http://project02:8080

tf workspace /s:http://project02:8080 Team.descomp;MyDomain\Myuser


tf workfold /workspace:Team.descomp


tf get $/Team/Main/Projects /recursive /force /noprompt
Run Code Online (Sandbox Code Playgroud)

我收到此错误:无法确定工作区.当我尝试执行tf get时.

控制台输出类似于:

服务器:project02

工作区:DESCOMP

所有者:MyUser

电脑:DESCOMP

工作区:Team.descomp

所有者:MyUser

电脑:DESCOMP

...

工作区:Team.descomp(MyUser)

服务器: http:// project02:8080 /

$ /团队:C:\ Temp\Team2

...

无法确定工作区.

注意,$/Team(团队项目)在两台机器上有映射:MyUser和Descomp

工作区:团队所有者:MyUser计算机:MyUser

工作区:Team.descomp所有者:MyUser计算机:DESCOMP

有什么建议?

Kiq*_*net 40

来自论坛MSDN:霍夫曼先生

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

将tf的工作文件夹更改为工作区映射的文件夹.

从映射工作空间的文件夹中执行命令

(例如,如果您从控制台执行此操作:

cd c:\sources\myteamproject

tf get ...
Run Code Online (Sandbox Code Playgroud)

)


键:将tf的工作文件夹更改为工作区映射的文件夹.

我在我的脚本文件中使用命令pushd C:\ Temp\Team2.

更新:Ryan Cromwell的评论

您可以使用以下内容在脚本中创建和映射工作区.第二个命令有效,因为第一个工作区是在'blah'文件夹中创建的.'.' 在第二个命令中说地图'$ /'到当前目录(blah).如果选择,您可以将其更改为命名文件夹或子文件夹.

创建一个新工作区
C:\projects\blah>tf workspace /new blah /noprompt /collection:http://<host>:<port>/tfs/<collection> /login:<username>,<pwd>

映射该工作空间中的路径
C:\projects\blah>tf workfold /map $/ . /login:<username>,<pwd>

  • 您还可以使用tf工作空间在命令行中映射工作空间. (3认同)

Rya*_*ell 7

这扩展了@Kiquenet的答案.在评论中不容易做到:(

您可以使用以下内容在脚本中创建和映射工作区.第二个命令有效,因为第一个工作区是在'blah'文件夹中创建的.'.' 在第二个命令中说地图'$ /'到当前目录(blah).如果选择,您可以将其更改为命名文件夹或子文件夹.

创建一个新工作区
C:\projects\blah>tf workspace /new blah /noprompt /collection:http://<host>:<port>/tfs/<collection> /login:<username>,<pwd>

映射该工作空间中的路径
C:\projects\blah>tf workfold /map $/ . /login:<username>,<pwd>