如何在Perforce工作区中显示新文件?

5
当我向由Perforce管理的项目中添加新文件时,如何获取我添加的新文件列表(Perforce尚未知道的文件),以便我确保在我的变更集中不会遗漏任何文件?
类似于“svn status | grep ^\?”或“git status”显示未暂存、未知文件的功能。
谢谢! -Casey
6个回答

3

在SO中查找相似的问题,同时检查其他答案和评论。没有直接的命令可以从命令行使用。但是你可以使用powershell脚本或GUI。


3
我应该搜索“未跟踪”...好吧,至少这会提高下一个可怜的开发者找到它的几率 :) - Casey
1
这个回答对你有帮助吗?如果你认为这是正确的答案,请接受它,这样下一个搜索这个问题的人就会知道这是他需要寻找的。绿色的勾号就在答案旁边,表示接受该答案 :-) - Teja Kantamneni

1

你可以利用p4 files命令:

find . -type f | xargs p4 files 2>&1 | grep 'no such file(s)'

甚至可以像这样按文件类型过滤:

find . -type f | xargs p4 files 2>&1 | grep 'no such file(s)' | grep 'cpp'


1
对于P4V,在工作区树中右键单击文件夹,然后单击“查找文件...”。在“文件名的全部或部分”中,输入“*.cs”。然后按文件类型排序 - 新文件的文件类型将为“none”。
不幸的是,似乎没有办法应用多个过滤器,例如“*.cs; *.aspx”。因此,您必须逐个筛选一个文件类型。此外,如果有成千上万个文件,您必须耐心等待 - 排序机制直到异步查找过程完成才能正常工作。
(“协调离线工作...”选项对我不起作用。我正在使用P4V 2009年6月版。)

1
我确信这个人不是在寻找GUI解决方案。抱歉,不投票 :) - sorin
@sorin 或许提问者没有考虑使用图形用户界面,但这也没关系。无论如何,对其他人(比如我)很有用 +1 - Offirmo

1

Teja提供的链接中提供了最好的答案。然而,如果您想要一个简单的命令行解决方案,专门处理添加的文件,您可以执行以下操作

find directory -type f | p4 -x- add

对于普通文件,以及

find directory -type l | p4 -x- add

关于链接,使用字母“el”,而不是上述命令中的数字“1”。

Perforce会拒绝添加已经在版本控制中的任何文件。唯一的问题是这会添加所有东西,包括二进制文件。


0

0

使用Perforce的"reconcile"命令,配合"add files"和"preview"选项,可以显示未添加的新文件,而不会将它们添加进来:

p4 rec -an


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接