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

Iai*_*ain 43 perforce

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

我想提供一个软件仓库位置,并查看已检出的该位置(包括子文件夹)下的任何文件的列表.

Iai*_*ain 31

从命令行:

p4 opened -a //depot/Your/Location/...
Run Code Online (Sandbox Code Playgroud)

...表示应包含子文件夹.

  • 请注意,-a选项是回答命令行问题的原因."-a标志列出了所有客户端中打开的文件.通常只列出当前客户端打开的文件." (3认同)

Gre*_*eld 22

看到你也问过P4V并且到目前为止只有命令行答案,这就是你为P4V做的事情."待处理"窗格可以帮助您实现所需目标.确保清除"用户"和"工作区"过滤器,您将获得按更改列表和客户端规范分组的所有文件的列表.不像Iain和Mark建议的那样使用P4命令行时直接获得的文件列表一样干净,但在某些情况下可能有所帮助.

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

  1. 工具 - >管理自定义工具
  2. 称之为例如用户打开文件
  3. 选中"添加到适用的上下文菜单"
  4. 在"应用程序"字段中,浏览到p4.exe
  5. 在Arguments中,键入opened -a%D(后者采用当前选定的depot路径)
  6. 选中该框以在控制台中运行.

如果需要过滤输出,我相信你可能会想到这一点.


Mar*_*ark 19

你也可以限制打开的p4的输出如下:

p4 opened -C <client-spec> //depot/...
Run Code Online (Sandbox Code Playgroud)

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

p4 opened //depot/...
Run Code Online (Sandbox Code Playgroud)

将为您提供当前P4USER打开的文件列表


eee*_*hul 6

如果您要搜索特定用户:

p4 opened -u the_user_name
Run Code Online (Sandbox Code Playgroud)

如果您要搜索特定的更改列表:

p4 opened -u the_user_name -c cl_number
Run Code Online (Sandbox Code Playgroud)


For*_*gic 5

我只想指出一些关于命令行参数的内容.

在要查看的文件夹之后添加" / ... " 非常重要,因为它会告诉perforce以递归方式执行此操作.

所以,我在开始时尝试这个:

p4 opened -a //myP4Path/dev_project
Run Code Online (Sandbox Code Playgroud)

直到我这样做才行不通:

p4 opened -a //myP4Path/dev_project/...
Run Code Online (Sandbox Code Playgroud)