每次构建时,我们都必须记录要跟踪的源文件的更改列表数。我们有不同的项目(在不同的目录下),它们在不同的变更清单编号上同步。可否请您告诉我如何获得特定目录的更改号码?获取当前工作空间目录的更改列表号
任何建议表示赞赏。感谢和最好的问候
每次构建时,我们都必须记录要跟踪的源文件的更改列表数。我们有不同的项目(在不同的目录下),它们在不同的变更清单编号上同步。可否请您告诉我如何获得特定目录的更改号码?获取当前工作空间目录的更改列表号
任何建议表示赞赏。感谢和最好的问候
此外,还有p4 changes -m1 //path/to/your/project/...#have
其中,如果运行在同步构建文件的客户端工作区中,它将为您提供工作区中文件的最高更改列表数量。
这看起来不错,但我得到“请求太大(超过550000);请参阅'p4 help maxresults'。”错误。我只是喜欢Perforce,所以有很多惊喜... – thegeko 2016-12-22 15:20:20
如果您的构建系统始终与构建之前的目录同步,则可以使用p4 changes -m 1 //path/to/your/project/...
获取该目录的头变更列表编号。
如果使用此方法,我会建议在同步之前运行更改命令,然后明确同步到该更改列表。这应该可以消除在更改命令和同步命令之间进行检查的机会。
如果您不想指定目录,也可以使用简短版本p4 changes -m1 #have
。
请注意,这与user1054341的回答中包含的软件仓库路径不同。此版本似乎包含尚未由客户端同步的更改。 – solublefish 2015-03-13 20:02:45
是的,没有。就像可溶性鱼说的那样,这给了服务器上最新的变更列表,这根本不是我同步客户视图的变更列表。 – damian 2015-08-20 13:32:59
@solublefish @damian我认为你的shell可能会默默地忽略'#have'部分,因为这个命令的工作原理与广告一致。 – 2017-07-07 13:16:25
p4 cstat //path/to/your/project...#have |grep -B1 have|tail -n2
@thegeco,这并不需要高max_scanrows的P4V客户端内的Perforce限制
你是什么意思“高max_scanrows perforce限制”? – 2018-03-07 15:00:06
我用的是“懒手动方式”(又名我不知道越好):
使用此在“已提交”标签过滤器中://您的项目/...#>需要 它会显示您未同步的CL,请注意最旧的CL。 删除#>有过滤器,看看你刚刚注意到的CL是什么。
在我的情况下,我只想知道在特定目录中打开了哪些变更列表号(未统一)。为此,我做:
p4 opened -s | cut -d' ' -f5 | uniq
也许一个标签将是有用的。该标签可以记录您构建的文件的修订版本。 – 2012-03-16 14:01:46
感谢大家的建议! – 2012-03-18 03:25:03