Perforce查看workspace sync到的changlist
Perforce查看workspace sync到的changlist
一 查看workspace sync到的changelist
perforce的workspace其实是一些特定版本的文件的结合,相比只将workspace对应到某个特定的changelist,此方法更灵活。changelist和文件间的关系为:每个changelist其实是某些特定版本文件的集合,但是并不是所有的版本的文件结合都对应到一个changelist。perforce允许用户将workspace同步到文件的某些特定版本,不一定对应一个chagnelist。
使用如下三步来确定workspace的最新状态
p4 changes 命令可以查看workspace中文件集合所对应的最高chagnelist:p4 changes -m1 //...#have 可以使用如下命令查看workspace中是否所有的文件都被sync到了最高changelist:p4 sync -n @
有的时候如果文件太多的话,会出现错误,可以使用如下方法:
$ p4 changes -m1 "./...#have" Request too large (over 850000); see 'p4 help maxresults'.$ p4 -G files "./...#have" | python c:/cygwin/usr/local/bin/p4lastchange.py Files: 266948 2427657 p4lastchange.py #! /usr/bin/env pythonimport sys, os, marshalif os.name == "nt": # Disable newline translation in Windows. Other operating systems do not # translate file contents. import msvcrt msvcrt.setmode( sys.stdin.fileno(), os.O_BINARY )lastcl = 0num = 0try: while 1: dict = marshal.load(sys.stdin) num = num + 1 for key in dict.keys(): # print "%s: %s" % (key,dict[key]) if key == "change": cl = int(dict[key]) if cl > lastcl: lastcl = clexcept EOFError: passprint "Files: %s" % numprint lastcl
二 p4 cstat
cstat -- Dump change/sync status for current client p4 cstat [files...]Lists changes that are needed, had or partially synced in the current client. The output is returned in tagged format, similar to the fstat command. The fields that cstat displays are:change changelist number status 'have', 'need' or 'partial'
p4 changes的更多使用
p4 changes -m 5 //depot/project/... | Show the last five submitted changelists that include any file under the project |
p4 changes -m 5 -c eds_elm | Show the last five submitted changelists from client workspace eds_elm. |
p4 changes -m 5 -u edk | Show the last five submitted changelists from user edk. |
p4 changes file.c@2000/05/01,2000/06/01 | Show any changelists that include file file.c, as mapped to the depot through the client view, during the month of May 2000. |
p4 changes -m 1 -s submitted | Output a single line showing the changelist number of the last submitted changelist. |
p4 changes @2001/04/01,@now | Display all changelists submitted from April 1, 2001 to the present. |
p4 changes @2001/04/01 | Display all changelists submitted before |
参考:http://p4t3.lollotec.com/2008/01/what-changelist-is-my-workspace-synced.html
http://stackoverflow.com/questions/47007/determining-the-last-changelist-synced-to-in-perforce
http://kb.perforce.com/?article=51
http://perforce.com/perforce/doc.current/manuals/cmdref/changes.html
完!
作者:iTech
github:https://github.com/cicdops/cicdops
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~