在Perforce中,如何获取签出文件的列表?

如何获取使用P4V或P4的用户签出的文件列表(包括用户名)?

我想提供仓库位置,并查看该位置下的任何文件(包括子文件夹)的列表。

从命令行:

p4 opened -a //depot/Your/Location/... 

…表示应包含子文件夹。

看到你也问过关于P4V,只有命令行的答案到目前为止,这是你为P4V做的。 “待定”窗格让你分开你想要的东西。 确保“用户”和“工作区”filter被清除,并且您将得到按变更列表和客户端规格分组的所有文件的列表。 不如Iain和Markbuild议的使用P4命令行时获得的文件清单,但在某些情况下可能有所帮助。

另一种方法是在P4V中创build一个使用build议的命令行解决scheme之一的自定义菜单。 例如:

  1. 工具 – >pipe理自定义工具
  2. 调用它,例如用户打开文件
  3. 选中“添加到适用的上下文菜单”
  4. 在“应用程序”字段中,浏览至p4.exe
  5. 在参数中,键入打开-a%D(后者采用当前选定的软件仓库path)
  6. 选中该框以在控制台中运行。

如果需要过滤输出,我相信你可以看中这一点。

你也可以像下面这样限制打开p4的输出:

 p4 opened -C <client-spec> //depot/... 

获取在该客户端规范上打开的文件列表

 p4 opened //depot/... 

会给你一个当前P4USER打开的文件列表

如果你想search一个特定的用户:

 p4 opened -u the_user_name 

如果你想search特定的Changelist:

 p4 opened -u the_user_name -c cl_number 

我只想指出关于命令行参数的一些事情。

在你想查看的文件夹之后加上“ / … ”是很重要的,因为它会告诉perforcerecursion地执行它。

所以,我在开始的时候就是这么想的:

 p4 opened -a //myP4Path/dev_project 

直到我这样做,哪个工作没有成功:

 p4 opened -a //myP4Path/dev_project/... 

在p4v中:尝试重命名顶层目录。 您将得到一个警告,并列出当前用户名签出的文件。