我可以使用tf.exe轻松地映射/取消映射工作目录,但如果存在到另一个文件夹或工作空间根目录的映射,这仍然会干扰我在脚本中映射特定目录。
有没有办法从工作区中删除所有工作目录映射,所以我知道我有一个“干净的名单”可供使用?
答案 0 :(得分:0)
TF.exe不支持隐式删除所有文件夹映射。但是,您可以使用PowerShell实现这一目标:
Add-Type -AssemblyName "Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a",
"Microsoft.TeamFoundation.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a",
"Microsoft.TeamFoundation.VersionControl.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
$tfs = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection("http://tfsserver:8080/tfs/DefaultCollection")
$tfs.EnsureAuthenticated()
$vcs = $tfs.GetService([Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer])
$workspace = $vcs.GetWorkspace("workspace_name", "owner")
foreach($folder in $workspace.Folders)
{
Write-Output "Removing $folder"
$workspace.DeleteMapping($folder)
}