【发布时间】:2010-08-24 18:35:55
【问题描述】:
当我将新文件添加到由 Perforce 管理的项目时,我如何获得我添加的新文件的列表(Perforce 还不知道的文件),这样我才能确保我不知道错过我的变更集中的任何内容?
类似'svn status | grep ^\?'或“git status”来显示未暂存的未知文件。
谢谢! -凯西
【问题讨论】:
标签: perforce
当我将新文件添加到由 Perforce 管理的项目时,我如何获得我添加的新文件的列表(Perforce 还不知道的文件),这样我才能确保我不知道错过我的变更集中的任何内容?
类似'svn status | grep ^\?'或“git status”来显示未暂存的未知文件。
谢谢! -凯西
【问题讨论】:
标签: perforce
在 SO 上找到类似的 question 并检查其他答案和 cmets。命令行没有可用的直接命令。但您可以使用 powershell 脚本或 GUI。
【讨论】:
最佳答案在 Teja 链接的类似问题中提供。但是,如果您想要一个专门处理添加文件的简单命令行解决方案,您可以执行以下操作
find directory -type f | p4 -x- add
对于普通文件,和
find directory -type l | p4 -x- add
用于链接。 (上面命令中的字母'el',而不是'one')
Perforce 只是拒绝添加任何已经在版本控制中的文件。唯一的问题是这会添加所有内容,包括二进制文件。
【讨论】:
对于 P4V,右键单击工作区树中的文件夹,然后单击“查找文件...”。在“全部或部分文件名”中,键入“*.cs”。然后按文件类型排序 - 新文件的文件类型为“无”。
不幸的是,似乎没有办法应用多个过滤器,例如“*.cs; *.aspx”。因此,您必须一次过滤一种文件类型。此外,如果有数千个文件,您必须耐心等待 - 在异步查找过程完成之前,排序机制将无法正常工作。
(“协调离线工作...”选项对我不起作用。我使用的是 2009 年 6 月的 P4V。)
【讨论】:
您可以利用 p4 文件命令
找到 . -类型 f | xargs p4 文件 2>&1 | grep '没有这样的文件'
您甚至可以像这样过滤文件类型。
找到 . -类型 f | xargs p4 文件 2>&1 | grep '没有这样的文件' | grep 'cpp'
【讨论】:
这是一个使用 find 和 p4、fstat 和 awk 的 unix one liner,它救了我的培根。
How to find untracked files in a Perforce tree? (analogue of svn status)
【讨论】: