如何加速perforce自动解决?

时间:2010-01-29 16:57:16

标签: performance perforce resolve

我想知道如何在进行集成时加快perforce自动解析(如果不存在冲突,则合并你的和他们的)。

当使用代理服务器运行时,即使代理服务器预先缓存了文件,目前也需要数小时才能完成约5000个文件。

p4v界面也没有给你关于任务进度的任何提示,你不知道它是否会在第二年或明年完成。

4 个答案:

答案 0 :(得分:2)

对于功能强大的服务器,

要解决的文件不是很多。

您的文件二进制文件是否显着?如果您的5000个文件是二进制文件,autoresolve将在本地硬盘上校验它们以与服务器上的校验和进行比较(而不是代理,这只是将信息或文件转发给您),这可能会降低您的速度。

如果您事先知道您正在尝试单向解决(在您的硬盘上吃掉它或从服务器上吃掉它们),您可以use the 'accept yours' or 'accept theirs' options to autoresolve并跳过校验和操作。从命令行,分别用“-ay”或“-at”选项“p4解析”。

您还可以与perforce数据库管理员联系,让他们记录服务器操作。当你进行集成并解决持有文件锁的时候,可能会运行一些动作,导致你旋转并等待锁被释放。请参阅“p4 monitor show -a”的参考资料。

例如,在我们的办公室,周一早上常常让办公室里的每个人都能融入他们的私人分支机构并解决问题。

答案 1 :(得分:2)

我在地球另一端使用代理也遇到了类似的问题。我已经进行了一些实验,问题似乎并没有受到文件大小或解决方法(接受他们等等)的影响,至少对于小文件而言。

我猜测每个文件有一些往返成本,因为总解析时间是相当稳定的,无论我是否将命令分解为每个文件的单独解析命令,每组文件批处理,或者解决整个更改列表。就我而言,对于>,每个文件的开销约为1秒。 10k文件。

我目前正在解决此问题,方法是登录与远程服务器位于同一位置的VM并从那里执行解析。然后,您可以从VM提交,然后正常同步。由于我需要在提交之前首先在本地运行测试,因此我将文件搁置在VM上,然后在本地计算机上取消搁置它们。这也不是非常快,但似乎更好。

所以,不是解决问题的方法,而是在我的案例中可行的解决方法,可以节省数小时。

答案 2 :(得分:1)

我想你可以从命令行做出决定,这可能会让你知道它仍然在进步,并且不会阻止你进行P4V的其他工作。

答案 3 :(得分:0)

如果您事先知道肯定是单向解决方案,也许您可​​以尝试强制接受“他们的”或“您的”版本。请参阅命令行中的“p4 help resolve”,特别是“-at”和“-ay”选项。

我不确定它是否会实际产生任何性能优势,但它很容易尝试(并做一些基准测试)。