我正在使用p4.net api递归地同步多个文件夹。文件夹的数量可以达到数百个,平均每个文件夹中有7个文件。我使用SyncFiles方法(来自Client类),语法如下:
myP4Connection.Client.SyncFiles(syncOptions, fs);在同步选项中,我传递的唯一标志是最大项目数的-m,它设置为int.MaxValue,fs是包含要同步的文件夹的P4文件等级库,版本设置为head修订版。
所以我面临的问题是:当我尝试同步一个或几个文件夹时,我从来没有遇到过异常。当我尝试同步大量资产时,P4客户端似乎没有刷新它的资源,有时它会抛出一个异常,它无法同步提到的仓库位置。异常中提到的文件夹永远不会与函数调用中传递的文件夹匹配。我可以通过在每次同步结束时休眠来解决这个问题,但这似乎不是一个可靠的解决方案。有没有办法限制Perforce请求的资源数量,这样我就可以异步同步许多文件夹?
如果能帮上忙我将不胜感激。
谢谢。
发布于 2013-05-08 22:20:48
为了清楚起见,您正在为每个要同步的文件夹运行单独的SyncFiles命令吗?有没有理由这样做,而不是仅仅同步顶层文件夹?
在任何情况下,您都应该向Perforce提交支持票证。如果P4.NET中存在性能错误,他们需要对其进行诊断。
https://stackoverflow.com/questions/16432656
复制相似问题