2011-02-01 46 views
17

我有此脚本(BAT文件)无法确定使用TF.exe

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 

工作区中我得到这个错误:无法确定工作区,当我尝试执行TF得到。

控制台输出类似这样的:

Server: project02

Workspace: DESCOMP

Owner : MyUser

Computer : DESCOMP

Workspace: Team.descomp

Owner : MyUser

Computer : DESCOMP

...

Workspace: Team.descomp (MyUser)

Server : http://project02:8080/

$/Team: C:\Temp\Team2

...

Unable to determine the workspace.

注意,以$ /团队(团队项目)在两台机器地图:MYUSER和Descomp

Workspace: Team Owner : MyUser Computer : MyUser

Workspace: Team.descomp Owner : MyUser Computer : DESCOMP

有什么建议?

回答

35

从论坛MSDN:郝福满先生

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

更改为TF得到由工作区映射文件夹的工作文件夹。

从那里工作空间被映射

文件夹执行命令(例如,如果您从控制台做到这一点:

cd c:\sources\myteamproject 

tf get ... 


重点:改变工作文件夹为tf到达由工作区映射的文件夹。

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

更新:由Ryan克伦威尔评论

您可以创建并与下面的脚本映射工作区。第二个命令有效,因为第一个工作区是在'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>

+2

您也可以在命令行将工作空间映射到tf工作空间。 – 2011-02-04 03:21:01

6

这扩展@Kiquenet回答地图的路径。在评论中不容易完成:(

您可以使用以下命令在脚本中创建并映射工作区:第二个命令有效,因为第一个工作区是在'blah'文件夹中创建的。 '在第二个命令中说map'$ /'到当前目录(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>

+1

如果您正在为临时文件夹创建这些文件,那么在完成时(以及临时文件夹),最好删除它们(通过`tf workspace/delete`)。 – BrainSlugs83 2014-08-12 03:57:47

1

我在球队的城市执行PS1文件,以下这个问题地图的路径:

tf resolve FND.sql /auto:KeepYours 

tf checkout FND.sql /noprompt 

tf checkin FND.sql /noprompt 

当我在PS窗口中执行它,它工作得很好,但是当由Team市执行,我得到了每一个TF的通话以下回应:

Unable to determine the workspace. ... 

试图获取有关发生了什么事情的详细信息,我插入下面的语句中的第一个TF呼叫前:

tf workfold 

,当我跑城队接下来的时间中,TF workfold表明,以前没有认识到的映射,以及现有的TF命令开始工作。

当我拿出tf workflold命令时,它仍然有效。

我不明白,但也许这会适用于其他人与这个问题。

我以前试过这个和其他网站的几个建议没有成功。

希望这可以帮助别人。

+0

***在该工作区中映射路径*** _tf workfold_ – Kiquenet 2016-09-09 08:57:52