TFS工作折叠/取消映射“;存在多个名称为“XYZ”的工作区;
我试图了解如何解决以下情况 我有一个TFS 2012服务器,有三个集合,比如说TFS工作折叠/取消映射“;存在多个名称为“XYZ”的工作区;,tfs,tf-cli,Tfs,Tf Cli,我试图了解如何解决以下情况 我有一个TFS 2012服务器,有三个集合,比如说 - http://tfs2012:8080/tfs/DefaultCollection/ - http://tfs2012:8080/tfs/CollectionOne/ - http://tfs2012:8080/tfs/CollectionTwo/ 在CollectionOne和CollectionTwo中,我有一个同名的工作区,我们称之为“TestWorkspace” 当我在CollectionOne上为该工
- 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.
在以下情况下失败
tf.exe workfold /unmap /workspace:TestWorkspace E:\Temp /collection:http://tfs2012:8080/tfs/CollectionOne/
The option collection is not allowed.
另外,指定workpsace的所有者也没有帮助,因为它们属于同一用户
如何取消映射存在于两个或多个集合中的工作区 这被报告为一个错误:
请参见此处了解解决方法:这确实是一个令人讨厌的缺陷。这里有一个我成功使用的简单解决方法
# 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提到的解决方法,因为我需要一些自动化友好的东西。将此标记为答案,因为这似乎是TF.exe和workfold的错误。解决此问题的方法是使用集合规范删除工作区,或者将所有工作区重新映射到另一个位置。或者更好的是,不要这样做。