TFS workfold / unmap“存在多个工作空间,名称为XYZ”

时间:2013-08-19 00:23:52

标签: tfs tfs2012 tf-cli

我想了解如何解决以下情况。

我有一个带有三个集合的TFS 2012服务器,比如说;

- http://tfs2012:8080/tfs/DefaultCollection/
- http://tfs2012:8080/tfs/CollectionOne/
- http://tfs2012:8080/tfs/CollectionTwo/

在CollectionOne和CollectionTwo中,我有一个同名的工作区,我们称之为“TestWorkspace”。

当我在CollectionOne上为该工作区运行map命令时,它可以完美地工作(可以获取,删除,更新等)。当我尝试取消映射工作区时,问题出现了,因为我已经完成了它(想想构建机器),以下调用失败。

tf.exe workfold /unmap /workspace:TestWorkspace E:\Temp

失败了;

Multiple workspaces exist with the name TestWorkspace.
Please specify the Team Foundation Server or qualify the name with the owner.

因此我尝试以下方法;

tf.exe workfold /unmap /workspace:TestWorkspace E:\Temp /collection:http://tfs2012:8080/tfs/CollectionOne/

以下内容失败;

The option collection is not allowed. 

同时指定workpsace的所有者也没有帮助,因为它们归同一个用户所有。

如何取消映射两个或多个集合中存在的工作空间?

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

这确实是一个恼人的缺陷。这是我成功使用的一个简单的解决方法。

# Rename existing workspace to something unique
tf workspace /collection:http://yourserver:8080/tfs/DefaultCollection /newname:TEMPORARY /noprompt DEVBOX-SGY

# Unmap based on new (unique) name
tf workfold /unmap /workspace:TEMPORARY C:\Code\Tools

# Rename workspace back to original name to avoid side-effects
tf workspace /newname:DEVBOXSGY /noprompt TEMPORARY

我个人无法使用sparkplug提到的解决方法,因为我需要一些自动化的功能。