如何列出由perforce更改列表更改的所有文件

如何列出由perforce更改列表更改的所有文件,perforce,Perforce,我有一个特定的更改列表,我想从命令行列出属于该更改列表的所有文件。我该怎么做?这是命令。要描述特定的变更列表,您需要p4 description 更新: 如果只需要文件名,可以使用带-F选项的命令覆盖输出格式:p4-Ztag-F“%depotFile%”文件@= 有关-F选项的更多信息,请参阅。迈克·奥康纳的回答对我也有帮助 至于只是更改文件列表,难道就不能像这样简单吗 p4 describe -s {change number} | grep '^\.\.\.' | awk '{print $

我有一个特定的更改列表,我想从命令行列出属于该更改列表的所有文件。我该怎么做?

这是命令。要描述特定的变更列表,您需要
p4 description

更新:

如果只需要文件名,可以使用带-F选项的命令覆盖输出格式:
p4-Ztag-F“%depotFile%”文件@=


有关-F选项的更多信息,请参阅。

迈克·奥康纳的回答对我也有帮助

至于只是更改文件列表,难道就不能像这样简单吗

p4 describe -s {change number} | grep '^\.\.\.' | awk '{print $2}'
这就是我要用的。

p4 change-o

它的末尾有一个文件列表。

给出了最好的答案,但只是在评论中。我添加了一个答案,让它更具可视性,并稍作改进

对于Change12345,这是您仅需
p4
命令即可获得的最接近的更改

p4 files @=12345
只有这个输出

//depot/file1#3 - delete change 3 (text)
//depot/file2#3 - edit change 3 (text)
//depot/file5#1 - add change 3 (text)
如果要删除每个文件的无关信息,则需要通过命令行上的更多工具处理该输出。假设是标准的unixy环境,您可以像这样使用单个
sed
命令

p4 files @=12345 | sed s/#.*//
达到预期的效果

//depot/file1
//depot/file2
//depot/file5

迈克写的是这个

p4 describe 12345
这在输出中提供了所有这些额外的细节

Change 12345 by day@client1 on 2013/06/21 00:25:28

    Some example changes

Affected files ...

... //depot/file1#3 delete
... //depot/file2#3 edit
... //depot/file5#1 add

Differences ...

==== //depot/file2#3 (text) ====

1c1
< This is file 2
---
> This is file 2 - edited

我认为这里给出的解决方案更简洁。

如果您的变更列表仍然挂起,您可以运行
p4 opened
p4 opened-c
,以获得特定(未提交)的变更列表编号

从:
“列出在挂起的更改列表中打开的文件。”

这是我需要的命令!然而,它相当冗长。我可以用-s排除不同的代码,但有没有办法只列出更改的文件?@coffee如果你对Python感到满意,可以运行
p4-G descripe-s
,它将导致输出格式化为编组的Python字典对象,然后你可以只解析和检索文件。"@=1234“如果1234是CL编号如果要在可视化客户端中设置一个方便的p4描述工具,请选择工具|管理自定义工具、新建|工具,并在生成的对话框中设置以下内容:*名称:描述变更列表*添加到适用的上下文菜单:True*应用程序:p4*参数:description-s%c*在终端窗口中运行工具:True。”。这提供了一个方便的上下文菜单项,可用于更改列表(默认值除外),并输出到终端窗口以方便复制。可能是最简单的方法:
p4 files@=
@user114245更准确地说,您应该为提交的更改列表添加应答,不,不是。“文件”部分仅针对挂起的更改列表显示。提交的变更列表的输出实际上有一条注释,描述了文件部分,其中说明了默认变更列表中打开的哪些文件将添加到此变更列表中。您可以从此列表中删除文件。(仅限新的变更列表。)在2013.1版中,我可以看到,对于挂起的变更列表,“文件”部分甚至没有显示。您可以将正则表达式模式移动到awk脚本中:
awk'/^\.\.\./{print$2}'
p4 fstat-t“depotFile”@=12345
也非常好。但是你必须删掉
。。。存储文件
前导文本。
p4 describe -s 12345 | grep '^\.\.\.' | awk '{print $2}'