3

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

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

4

4 回答 4

4

据我所知,没有一个命令可以准确地给你你想要的东西。在查看更新命令的作用时,Perforce 中没有单一的替代方法。我认为您最接近的将是使用“p4 fstat”命令并从那里解析输出以获取您需要的信息。

您可能会发现页面很有帮助。

我还发现这个链接指向一个 p4wrapper,它声称将 CVS 命令(包括更新)包装到一个脚本中。周围可能还有其他类似的。

我还想评论说,当问“我该怎么做......”时,这个问题的答案就像 Perforce 的许多人一样。答案通常归结为编写脚本以获取 perforce 命令的输出以获得所需的结果。他们的理念是提供简单的命令并让开发人员构建基本功能。爱它或恨它,这是基本模式。可以在此处的 Perforce Public Depot 中找到许多好的脚本。

于 2008-09-17T13:06:38.220 回答
3

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

    -sa 打开的文件与修订版本不同
            在仓库,或失踪。  
    -sb 为已解析的集成文件打开
            但解决后已修改。  
    -sd 客户端上缺少的未打开文件。  
    -se 与修订版不同的未打开文件
            在仓库。  
    -sl 每个未打开的文件,连同文件的状态
            与其相比,“相同”、“差异”或“缺失”
            在仓库中进行修订。  
    -sr 打开的文件与
            仓库。
于 2008-09-17T12:57:49.440 回答
2

全面披露:我为 Perforce 工作

在即将发布的 2012.1 版本中将有 2 个新命令“p4 status”和“p4 reconcile”。有关详细信息,请参阅以下内容:

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

于 2012-02-09T12:42:23.597 回答
1

不太清楚你的意思。如果您正在谈论查看哪些文件需要“解析”(使用 perforce 语言),那么您可以使用:

p4 resolve -n

请参阅此处的 p4 命令行手册网站: http ://www.perforce.com/perforce/doc.current/manuals/cmdref/resolve.html#1040665

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

希望这可以帮助。

于 2008-09-17T12:40:43.583 回答