【问题标题】:How to get a Count of the Items in my TFS Local Workspace?如何获取我的 TFS 本地工作区中的项目计数?
【发布时间】:2015-11-09 20:38:47
【问题描述】:

当我打开我的 Visual Studio 并从我们的 TFS 获得解决方案时,我在输出窗口中显示以下消息:

TF401190:本地工作区 [MACHINE_NAME;USER_NAME] 具有 158412个项目,超过了推荐的100000个限制 项目。为了提高性能,要么减少项目的数量 工作区,或将工作区转换为服务器工作区。

这不是一个错误,而是一个警告,我可以正常工作,尽管我觉得在我的工作中确实存在性能下降。

为了解决这个问题,一方面我想“隐藏”我不使用的单个分支/文件夹。另一方面,我不想掩饰太多,一般来说,我想知道是否有一些文件夹中有很多不必要的文件。

问题:是否有 TFS 控制台/PowerShell 命令,或者可以检索 TFS 本地工作区中可以从我的 Visual Studio 客户端计算机执行的项目的计数?类似于 Treesize-App 的功能,但对于 TFS?

我用谷歌搜索了一下,但没有发现任何真正有用的东西。 I found this on MSDN 确认了我收到消息的原因,但它没有提供任何解决方案。 Here 也是一个尝试做某事的人,但该项目从未进入 codeplex afaik。

我们的团队使用 VS2013 Update 5 / TFS 2013 Update 5

感谢您的帮助。

【问题讨论】:

  • 为什么不在本地工作区使用 Treesize?例如 C:\TFS\MySuperLargeTeamProject) 您还可以使用带有尾随 /* (msdn.microsoft.com/en-us/library/ms181378(v=vs.120).aspx) 的非递归映射
  • 好吧,本地 Treesize-Check 还会显示和计算所有非托管文件,如构建、resharper 设置、$tf 工件等......你知道我的意思吗?

标签: powershell visual-studio-2013 version-control tfs


【解决方案1】:

您可以这样做,例如使用 TFS API:

var uri = new Uri("https://tfs.mydomain.com/tfs/myteamprojectcollection")
var tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(uri);
var vcs = tpc.GetService<VersionControlServer>();

var itemSet = vcs.GetItems("$/MyServerPath",RecursionType.Full);

Console.WriteLine(itemSet.Items.Length);

您可以将其放入控制台应用程序中,或者如果您更改语法,也可以将其称为 PowerShell 脚本。

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Client")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.VersionControl.Client")

$url = "https://tfs.mydomain.com/tfs/myteamprojectcollection";
$tfs = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($url)
$vcs = $tfs.GetService([Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer])
$set = $vcs.GetItems("$/MyServerPath", [Microsoft.TeamFoundation.VersionControl.Client.RecursionType]::Full)

Write-Host $set.Items.Length

【讨论】:

  • 非常感谢!希望我能给予超过 1 个支持!
  • 这是返回 $/MyServerPath 中的项目总数还是“本地工作区”中的项目总数?我对“$/”运行它,得到的数字远高于我第一次使用 TFS 时 Visual Studio 显示的数字。
猜你喜欢
  • 2019-06-03
  • 1970-01-01
  • 2018-11-24
  • 2015-07-21
  • 1970-01-01
  • 2012-03-05
  • 2013-11-25
  • 1970-01-01
  • 2015-12-08
相关资源
最近更新 更多