获取当前工作空间目录的更改列表编号

时间:2012-03-16 03:26:26

标签: perforce

每次我们进行构建时,我们都必须记录用于跟踪的源文件的更改列表数量。我们有不同的项目(在不同的目录下),并且它们在不同的变更清单编号处同步。请您告诉我如何获取特定目录的更改列表编号?

任何建议都表示赞赏。谢谢和最诚挚的问候

7 个答案:

答案 0 :(得分:32)

此外,还有p4 changes -m1 //path/to/your/project/...#have,如果在客户端工作区中运行同步文件以进行构建,则会为您提供工作区中文件的最高更改列表编号。

答案 1 :(得分:4)

p4 cstat //path/to/your/project...#have |grep -B1 have|tail -n2

@thegeco,这不需要高max_scanrows perforce limits

答案 2 :(得分:2)

如果您不想指定目录,也可以使用短版p4 changes -m1 #have

如果您使用的shell“#”是一个像bash这样的注释字符,请记住将其转义如下:p4 changes -m1 \#have

答案 3 :(得分:1)

如果构建系统在构建之前始终同步到目录,则可以使用p4 changes -m 1 //path/to/your/project/...获取该目录的头部更改列表编号。

如果你使用这种方法,我建议在同步之前运行更改命令,然后显式同步到该更改列表。这应该可以消除某人在更改命令和同步命令之间进行检查的可能性。

答案 4 :(得分:0)

我在P4V客户端中使用“懒惰手动方式”(又名我不知道更好):

在“已提交”标签过滤器中使用此选项://yourproject /...#> have 它会告诉你哪些CL没有同步,请注意最旧的。 删除#>有过滤器,看看你刚才注意到的那个CL是什么。

答案 5 :(得分:0)

在P4V客户端中,您可以:

  1. 打开Submitted标签
  2. Files下拉列表中选择Filter:
  3. 选择Current depot or workspace tree selection
  4. Change排序,最上面的一行将是您的答案

答案 6 :(得分:-2)

就我而言,我只想知道在特定目录中打开(未同步)的更改列表号。为此,我做:

p4 opened -s | cut -d' ' -f5 | uniq