查找客户工作区中最大的变更表以外P4的变化在cmd

问题描述:

我需要找到最大的变更表在我的客户工作区同步,一个选择是使用查找客户工作区中最大的变更表以外P4的变化在cmd

p4 changes -m 1 @client_name 

但是因为有我的分支的文件数量巨大,问题p4 changes证明是昂贵的,所以我需要一些有效的方法来解决这个问题。提前致谢 !

您的问题不在于您使用的是p4 changes,而是您正在以非常低效的方式使用它。如果你去到客户端的根目录,并要求它为您同步到该目录树中的最新变化,这是相当快:

$ time p4 changes -m 1 ...#have 
Change 2559333 on 2014/01/25 by [email protected] 

real 0m0.209s 
user 0m0.010s 
sys  0m0.020s 

与此相比,:

$ time p4 changes -m 1 @my-perforce-client 
Change 2559333 on 2014/01/25 by [email protected] 

real 1m57.943s 
user 0m0.010s 
sys  0m0.020s 

注意p4 changes -m 1 ...#have不会总是向您显示您的客户端同步到的最后一次更改;它会告诉你最后的变化,你的客户。例如,如果您的客户端同步更改123,但您以后提交了更改456,则p4 changes -m 1 ...#have将报告更改456.要解决此问题,通常建议使用p4 changes -m 10 ...#have(或足够高的值-m值),然后过滤掉您自己的变化。

+0

我不知道为什么'@ client'版本太慢了,但我猜测它涉及到首先查询服务器,以确定哪些文件在客户端视图中。 – jamesdlin

+0

非常感谢你 – Arovit

+0

虽然最大的问题是第一个没有做你想做的事。 – gsf