Perforce。在沙箱中获取文件状态
如何找出客户端中文件的状态,我想知道文件是否需要更新,修补或修改等。在CVS中,我曾经简单地运行“ cvs -n -q update。> file“。稍后查找M,U,P,C属性以获取文件的当前状态。Perforce。在沙箱中获取文件状态
在perforce中,“p4 sync -n”不会给出像“cvs -n -q update”这样的输出。在Perforce的情况下,如何查看文件的当前状态?
据我所知,没有一个命令,会给你你想要的。在查看更新命令的功能时,Perforce中没有单一的选择。我认为最接近的就是使用'p4 fstat'命令并解析输出以获取所需的信息。
您可能会感兴趣this页面有帮助。
我也发现这个link到一个p4wrapper声称包装来CVS命令(包括更新)到脚本。也可能有像这样的其他人。
我也想评论一下,在询问“我该怎么做......”时,这个问题的答案与许多Perforce一样。答案通常归结为编写一个脚本来从perforce命令中获取输出,以获得您需要的结果。他们的理念是提供裸露的骨骼命令,并让开发人员构建基本功能。喜欢它或讨厌它,这是基本的模型。 Perforce Public Depot here中有许多优秀的脚本。
感谢您指出脚本。我同意这个哲学。我知道我想要什么,这是我能做到的(通过脚本)。 由于未知的原因,我发现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,然后选择“协调离线工作”。经过一些处理后,您将得到与软件仓库不同步的文件列表。
希望这会有所帮助。
谢谢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
本地工作区Perforce中被称为“客户端工作区”说话 - 你可能要更新的标题,所以没有混乱。 Sandbox(P4Sandbox)尚未发布(2012年1月)Perforce的私有分支/分布式解决方案:http://www.perforce.com/blog/110826/p4sandbox-private-local-branching-distributed-development – 2012-02-15 05:00:41