9

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

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

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

4

4 回答 4

2

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

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

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

因此,这不是解决问题的方法,而是在我的情况下可以节省时间的可行解决方法。

于 2014-08-14T16:49:12.830 回答
2

对于一个中等强大的服务器来说,5000 个文件并不是很多要解决的。

您的文件二进制文件是否很大?如果您的 5000 个文件是二进制文件,则 autoresolve 将在您的本地硬盘上对它们进行校验和,以与服务器上的校验和进行比较(不是代理,它只是将信息或文件中继给您),这可能会减慢您的速度。

如果您事先知道您正在尝试单向解析(在您的硬盘上吃掉您的硬盘或从服务器上吃掉他们的),您可以使用“接受您的”或“接受他们的”选项来自动解析并跳过校验和操作。在命令行中,这将是分别带有“-ay”或“-at”选项的“p4 resolve”。

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

例如,在我们的办公室里,周一早上办公室里的每个人都整合到他们的私人分支机构并解决问题是很常见的。

于 2010-03-20T02:02:01.623 回答
1

我想您可以从命令行进行解析,这可能会让您知道它仍在进行中,并且不会阻止您在 P4V 中进行其他工作。

于 2010-01-30T10:45:48.533 回答
0

If you know beforehand that it will for sure be a one-way resolve, maybe you could try forcing the acceptance of "theirs" or "yours" version. See "p4 help resolve" from the command-line, specifically the "-at" and "-ay" options.

I don't know for sure whether it will actually yield any performance benefits or not, but it's easy enough to try it out (and do some benchmarking).

于 2010-02-05T12:35:09.057 回答