Perforce。在沙箱中获取文件状态

问题描述:

如何找出客户端中文件的状态,我想知道文件是否需要更新,修补或修改等。在CVS中,我曾经简单地运行“ cvs -n -q update。> file“。稍后查找M,U,P,C属性以获取文件的当前状态。Perforce。在沙箱中获取文件状态

在perforce中,“p4 sync -n”不会给出像“cvs -n -q update”这样的输出。在Perforce的情况下,如何查看文件的当前状态?

+0

本地工作区Perforce中被称为“客户端工作区”说话 - 你可能要更新的标题,所以没有混乱。 Sandbox(P4Sandbox)尚未发布(2012年1月)Perforce的私有分支/分布式解决方案:http://www.perforce.com/blog/110826/p4sandbox-private-local-branching-distributed-development – 2012-02-15 05:00:41

据我所知,没有一个命令,会给你你想要的。在查看更新命令的功能时,Perforce中没有单一的选择。我认为最接近的就是使用'p4 fstat'命令并解析输出以获取所需的信息。

您可能会感兴趣this页面有帮助。

我也发现这个link到一个p4wrapper声称包装来CVS命令(包括更新)到脚本。也可能有像这样的其他人。

我也想评论一下,在询问“我该怎么做......”时,这个问题的答案与许多Perforce一样。答案通常归结为编写一个脚本来从perforce命令中获取输出,以获得您需要的结果。他们的理念是提供裸露的骨骼命令,并让开发人员构建基本功能。喜欢它或讨厌它,这是基本的模型。 Perforce Public Depot here中有许多优秀的脚本。

+0

感谢您指出脚本。我同意这个哲学。我知道我想要什么,这是我能做到的(通过脚本)。 由于未知的原因,我发现Perforce文档是神秘的,我需要进入文档。 – Karthi 2008-09-17 13:37:30

不太确定你的意思。如果你是在谈论看到的文件所需要的“解决”(Perforce中语),那么你可以使用:

p4 resolve -n 

见P4命令行手册网站在这里: http://www.perforce.com/perforce/doc.current/manuals/cmdref/resolve.html#1040665

而且P4V有一个很好的功能如果您使用该客户端,则突出显示未提交和肮脏的文件。右键单击工作区视图中的fodler,然后选择“协调离线工作”。经过一些处理后,您将得到与软件仓库不同步的文件列表。

希望这会有所帮助。

+0

谢谢Tenpn 。我正在寻找一种方法来查找文件是否需要更新,是否修改过,还是需要修补。所以,你对你的沙盒的内容有一个公平的想法。 我会查看手册以解决问题并“协调离线工作”。 是的,你的答案有帮助。谢谢。 – Karthi 2008-09-17 12:50:08

不确定这是否是您要查找的内容,但p4 diff命令有几个有用的选项。从用法:

 
    -sa  Opened files that are different from the revision 
      in the depot, or missing. 
    -sb  Opened for integrate files that have been resolved 
      but have been modified after being resolved. 
    -sd  Unopened files that are missing on the client. 
    -se  Unopened files that are different from the revision 
      in the depot. 
    -sl  Every unopened file, along with the status of 
      'same, 'diff', or 'missing' as compared to its 
      revision in the depot. 
    -sr  Opened files that are the same as the revision in the 
      depot. 

全面披露:我对Perforce的

工作

将有在上未来2012.1释放2个新命令“P4状态”和“P4调和”。详情请参见以下内容:

http://www.perforce.com/blog/120126/new-20121-p4reconcile-p4status