2013-05-08 55 views
0

我正在使用p4.net api以递归方式同步多个文件夹。文件夹的数量可以达到数百个,每个文件夹平均有七个文件。我用的是SyncFiles方法(从客户端类)和我的语法如下:使用p4.net api同步Perforce中的多个文件夹的错误

myP4Connection.Client.SyncFiles(syncOptions, fs); 

凡在同步选项,我传递的唯一标志是-m的最大项目,其设置为int.MaxValuefs是包含要同步的文件夹的P4文件Spec,以及设置为头版本的版本。

所以我面对的问题是:当我尝试同步一个或几个文件夹时,我从不遇到异常。当我尝试同步一大组资源时,P4客户端似乎无法清除资源,并且有时会引发异常,导致它无法同步所提到的仓库位置。异常中提到的文件夹永远不会匹配函数调用中传递的文件夹。我可以通过在每次同步结束时给予睡眠来解决这个问题,但这似乎不是一个可靠的解决方案。有没有一种方法可以限制从Perforce请求的资源数量,所以我可以异步同步很多文件夹?

我将不胜感激任何帮助。

谢谢。

回答

0

为了清楚起见,您要为每个要同步的文件夹运行单独的SyncFiles命令?你有没有这样做的理由,而不是只是同步顶级文件夹?

无论如何,您应该使用Perforce提交支持凭单。如果P4.NET中存在性能问题,则需要对其进行诊断。