如果查看图片,我已在VS2017源代码管理资源管理器中将一些示例文件/源代码标记为已删除,但是TFS不会自动将其删除,您必须使用tf destroy命令手动将其删除。
我想让PowerShell使用TFS REST API来获取已标记为删除的源,但是通过他们的API参考,我没有找到一种方法来执行此操作,该API似乎没有暴露这类信息,但是Visual Studio 2017能够以某种方式获取它,那么我当然应该能够?
我正在使用TFS2017 Update 2,所以这是api版本3.2。
为什么要这样做:我们的空间不足,并且我们有很多团队项目集合,其中的源标记为删除。手动销毁所有东西将非常繁琐。
答案 0 :(得分:0)
没有用于此的REST API。您将必须使用tf.exe
。
答案 1 :(得分:0)
如果您拥有TFS电动工具,则可以使用此PowerShell脚本来销毁所有已删除的项目(使用tf
而不是rest api,但是它可以完成工作,您无需手动进行) :
$tfsServer = Get-TfsServer -name http://YOURTFSSERVER:PORT
$destroyList = get-tfschilditem -item $/Root/ -server $tfsServer -Deleted -recurse | Where {$_.DeletionId -ne 0}
foreach($item in $destroyList)
{
$itemPath = '"' + $item.ServerItem + ";X" + $item.DeletionId + '"'
tf destroy $itemPath /i /startcleanup
}