我正在为 Perforce .net API 构建一个包装器,并且我需要能够将文件从 Depot 直接下载到我的计算机(不是签出!),因为该文件将用于另一个项目!
目前我有一个(非常特殊的)解决方案,我在不提交的情况下运行“复制”命令,使用 File.Copy 函数将该文件复制到正确的位置,然后恢复 P4 副本。它可以工作,但是当文件太大(~200 mb)时,我会收到这个错误:
[命令超时[655371]:复制//FROM_PATH //TO_PATH]
我注意到,如果您右键单击 P4V 中的文件,您可以选择“导出到...”选项,我无法使用 API 或命令行找到类似的命令...有没有人知道更好的导出方式文件比我目前使用的文件?(它需要能够从 C# 应用程序运行)
或者,如果有人知道如何绕过命令超时,那也很棒!
谢谢!
编辑:
我找到了命令超时的解决方案:
您可以通过创建具有所需延迟的 TimeSpan 类的新实例,然后将其分配给连接实例的 CommandTimeout 变量来更改延迟,直到发生超时(当您建立连接时):
例如:m_connection.CommandTimeout = TimeSpan.FromMilliseconds(milliseconds);
我仍然有兴趣看看是否有人知道导出文件的方法而不必做我奇怪的版本!