Perforce VPN上更快的清洁性能同步

Perforce VPN上更快的清洁性能同步,perforce,sync,Perforce,Sync,我必须定期通过VPN与新硬件/虚拟机进行干净的性能同步。这可能需要几个小时,因为项目相当大。是否有一种方法可以简单地从现有客户端复制最新的树,并告诉Performance使用此树?没有,但您不需要:为什么需要执行干净的Performce同步?正常同步有什么问题?如果你需要清理这棵树,为什么不复制一份呢 另一种选择可能是在VPN连接的一端运行p4proxy,这样就不必通过VPN传输未更改的文件 如果您只需要导出—也就是说,您不需要保持它的最新状态或提交来自它的更改,那么您可以简单地复制现有的签出,

我必须定期通过VPN与新硬件/虚拟机进行干净的性能同步。这可能需要几个小时,因为项目相当大。是否有一种方法可以简单地从现有客户端复制最新的树,并告诉Performance使用此树?

没有,但您不需要:为什么需要执行干净的Performce同步?正常同步有什么问题?如果你需要清理这棵树,为什么不复制一份呢

另一种选择可能是在VPN连接的一端运行p4proxy,这样就不必通过VPN传输未更改的文件

如果您只需要导出—也就是说,您不需要保持它的最新状态或提交来自它的更改,那么您可以简单地复制现有的签出,并且永远不要对该树使用perforce。但是我不知道如何说服perforce server,在没有p4实际签出文件的情况下签出文件。

这是正确的方法,但是如果您真的想,有一种方法可以通过
sync
命令,通过
-k
开关执行您的要求:

-k标志绕过客户机文件 更新。它可以用来制作 服务器认为客户端工作区 已经有文件了。通常是这样 标志用于纠正性能 服务器什么时候出错了 文件位于客户端,请使用此 选项可能会混淆服务器,如果 客户的内容有误


小心点。记住最后一句话,“…如果您对客户端内容的理解有误,使用此选项可能会混淆服务器。”

假设您可以为此专门使用一台本地计算机,那么Perforce Proxy几乎肯定是一条路要走

对于代理来说,一个有用的技巧是让它在一夜之间刷新它的内容,只需创建一个虚拟客户端(可能在代理机器上),然后启动一个夜间任务来进行同步——正常的同步就可以了,不需要是干净的同步。这将确保人们签入的任何重大更改在您第一次需要进行本地同步时不一定会造成巨大的延迟

请注意,您需要在代理和服务器之间建立实时VPN连接-代理仍然需要与服务器对话,以确定是否缓存了正确的版本。因此,代理需要一个到服务器的低延迟链接,但至少不必等待实际的文件传输


您可能希望尝试的另一种选择是在客户端规范(工作空间)中使用compress选项。这会告诉服务器在发送每个文件之前对其进行压缩,您的p4客户端将自动解压缩。这里的权衡是服务器和客户端的CPU时间。但是,考虑到您希望同步多个本地客户端,我认为代理最终将是更好的解决方案。

嗨,道格拉斯,我已经澄清了这个问题(我想!),我现在也倾向于使用代理。我以前用过,但由于某种原因停止了使用。也许这就是解决办法。 p4 sync -k //depot/someProject/... p4 flush //depot/someProject/...