Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perforce 检测未打开的修改文件的性能_Perforce - Fatal编程技术网

Perforce 检测未打开的修改文件的性能

Perforce 检测未打开的修改文件的性能,perforce,Perforce,我正试图找出一种方法来检测那些没有打开进行编辑但在本地被修改的文件。p4 fstat为任何给定文件返回一个值headModTime,但这是仓库中的更改时间,不应等于文件系统的stat last modified time 我希望存在一种更轻量级的操作,而不是备份原始文件,强制同步文件,然后从以下位置运行不同的想法?: 具体参见步骤2: 二,。接下来,打开以编辑任何已更改的文件: p4 diff -se //myclient/... | p4 -x - edit p4 diff-se返回仓库文件

我正试图找出一种方法来检测那些没有打开进行编辑但在本地被修改的文件。p4 fstat为任何给定文件返回一个值headModTime,但这是仓库中的更改时间,不应等于文件系统的stat last modified time

我希望存在一种更轻量级的操作,而不是备份原始文件,强制同步文件,然后从以下位置运行不同的想法?

具体参见步骤2:

二,。接下来,打开以编辑任何已更改的文件:

p4 diff -se //myclient/... | p4 -x - edit

p4 diff-se返回仓库文件的名称,这些文件对应的客户端文件与有修订版本的客户端文件在任何方面都不同。

从正在工作的文章中,使用p4win,您还可以选择有问题的文件夹/文件,然后选择“文件菜单->更多->检查一致性”,这基本上就是“p4 diff-se”和“p4 diff-sd”,并提示用户解决不一致问题。

给出了在P4V GUI中执行此操作的方法:

在2009年1月版本的P4V中,您可以右键单击工作区树中的任何文件夹,然后单击协调脱机工作

这将进行一点处理,然后显示未签出但与depot版本不同或根本未签入的文件的拆分树视图。它甚至可能会提出一些其他类别

您可以在此视图中右键单击文件并将其签出、添加甚至还原

稍后编辑:

在调解中。。。窗口中,您可以单击“高级协调”,并显示两个窗格的文件夹层次结构差异窗口,该窗口对于查找需要添加的文件特别有用

优点:整个P4V特性比命令行版本更为用户友好,因为它允许在选择要协调的内容时达到最大的粒度


缺点:它急需一个subversion/git/hg.ignore like list,以避免手动跳过项目中的所有dll和其他错误。

这里有一个unix解决方案,它对我来说非常有效


从Performce 2012.1版开始,使用命令行命令p4 status和p4 CONCLIENT

p4 status命令在客户端工作区中查找未打开的文件,并检测工作区与仓库之间的以下三种类型的不一致:

文件存在于仓库中,存在于have列表中,但在工作区中丢失。默认情况下,这些文件随后将打开以供使用 删去 工作区中存在文件,但仓库中缺少。默认情况下,将打开这些文件进行添加。 在工作区中修改但未打开进行编辑的文件。默认情况下,将打开这些文件进行编辑。
使用p4v已经一年了,我非常喜欢这个答案。好处是,此方法还可以在工作区中查找用于添加不受源代码管理的文件的文件。如果你的工作区中有大量的垃圾中间对象,这可能会有点麻烦。2012.2的命令行现在真的很简单p4.@Epu您应该添加移动吗?对于那些正在寻找命令行方法的人来说,这条评论与公认的答案是一致的。是的,如果不排除crud a la.gitignore,它是无用的。请看,我们在启用UAC的Windows上发现了一个有趣的问题,即当UAC打开时,symlink类型的文件将转换为文本文件默认行为。协调始终拾取已转换的文件。所以,是的,它不是没有错误的。对于那些像我一样很少在命令行中花费时间的人,这里有一种快速而肮脏的方法来完成差异,而不必永久地设置p4环境。对括号中的内容使用您自己的值:p4-c-p:-p diff-sep4-x-是文件中的read参数,if-然后使用stdin。