如何找到以前提交的变更列表?

How to find the previous submitted change lists?

是否有 Perforce 命令来查找特定分支上给定提交的 CL 的最近一次提交的更改列表。

例如在分支 //depot/temp/1.0/... 我已经提交了 CL11、CL22、CL36、CL49 等..所以对于给定的提交 CL (CL36),我如何才能找到它的前一个 CL 即 CL22?

我尝试了 运行 p4 更改 //depot/temp/1.0/... 以便它为我提供所有更改列表,然后我解析它们以获得所需的 CL

但是我正在寻找直接的 p4 命令来实现这个

以下命令列出路径 //depot/temp/1.0/...:[=​​15=] 中的所有更改

p4 changes //depot/temp/1.0/...

以下命令列出了直到更改 36 的所有更改:

p4 changes //depot/temp/1.0/...@36

以下命令列出更改 36 和它之前的一个:

p4 changes -m2 //depot/temp/1.0/...@36

以下命令仅列出更改 36 之前的更改:

p4 changes -m2 //depot/temp/1.0/...@36 | tail -1

以下命令仅列出更改 36 之前的更改编号(在您的情况下为 22):

p4 changes -m2 //depot/temp/1.0/...@36 | tail -1 | cut -f2 -d' '

除了 pitseeker 的回答之外,下面是如何在没有 Unix 命令的情况下执行最后两个操作:

以下命令仅列出更改 36 之前的更改:

p4 changes -m1 "//depot/temp/1.0/...@<36"
p4 changes -m1 //depot/temp/1.0/...@35

(请注意,您需要在 @< 语法中使用引号,否则您的 shell 会将其视为重定向。在执行此类操作时,我个人更喜欢 "subtract 1" 方法更改编号——他们对标签或提交哈希 IMO 的一个巨大好处是你可以像数字一样推理它们。)

下面的命令只列出变化36之前的变化编号:

p4 -Ztag -F %change% changes -m1 //depot/temp/1.0/...@35