1

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

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

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

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

4

2 回答 2

2

添加到pitseeker的答案,这里是如何在没有Unix命令的情况下完成最后两个:

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

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

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

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

p4 -Ztag -F %change% changes -m1 //depot/temp/1.0/...@35
于 2018-09-10T14:36:24.287 回答
1

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

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' '
于 2018-09-10T11:26:34.530 回答