查找客户工作区中最大的变更表以外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
值),然后过滤掉您自己的变化。
我不知道为什么'@ client'版本太慢了,但我猜测它涉及到首先查询服务器,以确定哪些文件在客户端视图中。 – jamesdlin
非常感谢你 – Arovit
虽然最大的问题是第一个没有做你想做的事。 – gsf