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

How to get-latest a lot of files reliably in source control explorer

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

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

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

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

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

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

此外,“get specific/overwrite”也不起作用,因为这最终会导致与最初产生问题相同的资源限制问题。

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

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

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

答案,据此:

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 无关紧要。