如何查找先前提交的变更列表?

时间:2018-09-10 09:20:40

标签: perforce changelist

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

例如,在分支//depot/temp/1.0 / ...上,我已经提交了CL11,CL22,CL36,CL49等。因此对于给定的提交CL(CL36),我如何找出其前一个CL即CL22?

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

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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' '