我正在使用p4.net api递归地同步多个文件夹。文件夹的数量可以达到数百个,平均每个文件夹有七个文件。我使用SyncFiles方法(来自Client类),我的语法如下:
myP4Connection.Client.SyncFiles(syncOptions, fs);
在同步选项中,我传递的唯一标志是-m
表示最大项目,设置为int.MaxValue
而fs
是包含要同步的文件夹的P4文件规范,并且版本设置为头版本。
所以我面临的问题是:当我尝试同步一个或几个文件夹时,我从未遇到异常。当我尝试同步大量资产时,P4客户似乎没有冲洗它的资源,有时会抛出一个异常,它无法同步所提到的仓库位置。异常中提到的文件夹永远不会与函数调用中传递的文件夹匹配。我可以通过在每次同步结束时进行睡眠来解决这个问题,但这看起来并不像是一个可靠的解决方案。有没有办法可以限制从Perforce请求的资源数量,所以我可以异步同步很多文件夹?
我将不胜感激。
谢谢。
答案 0 :(得分:0)
为了清楚起见,您要为要同步的每个文件夹运行单独的SyncFiles
命令吗?你有没有理由这样做而不只是同步顶级文件夹?
在任何情况下,您都应该使用Perforce提交支持请求。如果P4.NET中存在性能错误,则需要对其进行诊断。