如何在源代码管理资源管理器中可靠地获取最新的大量文件

Posted

技术标签:

【中文标题】如何在源代码管理资源管理器中可靠地获取最新的大量文件【英文标题】:How to get-latest a lot of files reliably in source control explorer 【发布时间】:2021-09-21 13:39:23 【问题描述】:

我在 TFS/Azure DevOps 中有一个存储库,其中包含约 100.000 个文件。每次我必须设置一台新机器时,我都会遇到问题。

在 VS 中,我连接到工作区并执行“map&get”。这总是失败的。下载了很多文件,但远非全部。有时 VS 确实会显示错误消息,有时则不会。我确实收到了来自 devops 的电子邮件,其中基本上指出,由于已达到限制,操作被“延迟”。它指向我可以看到的使用情况统计信息,确实,对 FileDownloadHandler 的请求已被延迟。

在查看相关文档时,他们指出,基本上,事情会“延迟”,以防用户使用的资源量是他平时使用量的 200 倍以上。

在这种情况下当然是这样:“用户”正在尝试下载所有文件,这肯定是正常工作时命令数量的 200 倍以上。

但是,VS (2015) 似乎没有意识到事情出了问题。因为在操作结束时本地机器上丢失了相当多的文件。 (它不会自行等待,并在一段时间后开始新的下载操作。)所以我按照文档所说的做,再等 5 分钟,然后执行“获取最新”。这完全失败了,因为 VS 认为“所有文件都是最新的”。

[我使用的是 2015,因为我实际上并不想在那台机器上使用 vs。我正在使用 tfs 命令行工具,这些只能在之前安装了 vs 2015 时安装。]

此外,“获取特定/覆盖”不起作用,因为这最终会导致与最初造成该问题的资源限制问题相同。

所以我基本上最终使用“map&get”,然后等待几分钟,然后是“比较”,再次等待,然后对“比较”的结果集进行“协调”。

这不是一个很好的工作流程。

那么,当您在源代码管理中拥有大量文件时应该怎么做?

【问题讨论】:

你使用本地工作空间还是服务器工作空间? 我正在使用服务器工作区。 【参考方案1】:

答案,据此:

https://developercommunity.visualstudio.com/t/how-to-get-latest-a-lot-of-files-reliably-in-sourc/1488274

基本上,具有 >= 100.000 个文件或 >= 10 GB 大小的存储库对于 Azure DevOps 来说“太大”。使用 TFS 还是 Git 都没关系。

【讨论】:

以上是关于如何在源代码管理资源管理器中可靠地获取最新的大量文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C 预处理器中可靠地检测 Mac OS X、iOS、Linux、Windows? [复制]

如何在任务管理器中获取用户列表

如何获取正在运行的进程的进程ID,如任务管理器中所示

如何在 Windows 资源管理器中刷新文件的缩略图?

在解决方案资源管理器中禁用拖放

如何像在 Windows 资源管理器中一样在 Delphi 中获取排序顺序?