我想了解如何解决以下情况。
我有一个带有三个集合的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的所有者也没有帮助,因为它们归同一个用户所有。
如何取消映射两个或多个集合中存在的工作空间?
答案 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提到的解决方法,因为我需要一些自动化的功能。