我想知道如何加快Perforce自动解决冲突的速度(在集成时将本地和远程代码合并,如果没有冲突存在)。
即使使用代理服务器并且已经预缓存了这些文件,当前运行该过程花费了数小时才处理完约5000个文件。
此外,P4V界面不提供有关任务进度的任何提示,您无法知道它是在一秒钟内完成还是要到明年。
我想知道如何加快Perforce自动解决冲突的速度(在集成时将本地和远程代码合并,如果没有冲突存在)。
即使使用代理服务器并且已经预缓存了这些文件,当前运行该过程花费了数小时才处理完约5000个文件。
此外,P4V界面不提供有关任务进度的任何提示,您无法知道它是在一秒钟内完成还是要到明年。
我也遇到了一个类似的问题,与位于地球另一端的代理一起工作。我进行了一些实验,发现问题似乎不会因文件大小或解决方法(接受他们等)而受影响,至少对于较小的文件而言。
我猜测每个文件都有一些往返成本,因为总的解决时间相当恒定,无论是将命令分解为单个文件的解决命令,每组文件批量处理,还是解决整个更改列表。在我的情况下,超过10k个文件的开销约为每个文件1秒钟。
我目前通过登录与远程服务器共存的虚拟机并从那里执行解决来解决此问题。然后您可以从VM提交,然后正常同步。由于我需要先在本地运行测试,然后才能提交文件,因此我在VM上搁置文件,然后在本地计算机上取消搁置。这也不是非常快,但似乎更好。
因此,这并不是解决问题的方法,但在我的情况下是可行的解决方法,可以节省数小时。
我猜你可以从命令行中进行解决,这可能会让你知道它仍在进行中,并且不会阻止你在P4V中进行其他工作。
如果您事先知道它肯定是单向解决,也许可以尝试强制接受"theirs"或"yours"版本。请参见命令行中的"p4 help resolve",特别是"-at"和"-ay"选项。
我不确定它是否会带来任何性能优势,但尝试一下(并进行一些基准测试)很容易。