每次我们进行构建时,我们都必须记录用于跟踪的源文件的更改列表数量。我们有不同的项目(在不同的目录下),并且它们在不同的变更清单编号处同步。请您告诉我如何获取特定目录的更改列表编号?
任何建议都表示赞赏。谢谢和最诚挚的问候
答案 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客户端中,您可以:
Submitted
标签Files
下拉列表中选择Filter:
Current depot or workspace tree selection
Change
排序,最上面的一行将是您的答案答案 6 :(得分:-2)
就我而言,我只想知道在特定目录中打开(未同步)的更改列表号。为此,我做:
p4 opened -s | cut -d' ' -f5 | uniq