通过Linux访问perforce中的最新标签

时间:2012-06-29 22:56:09

标签: linux unix label perforce p4v

当我在Linux中输入以下命令时,我得到一个标签列表:

p4 labels -e '< pattern-for-required-label >'

但我想只抓住列表中的最新标签。如果在perforce中有任何命令可以通过它从长列表中选择最新的标签?

4 个答案:

答案 0 :(得分:1)

p4 labels -e ''|head(或“| tail”,取决于您是否要查看列表的顶部或底部。)

答案 1 :(得分:1)

您可以使用sort命令执行此操作:

p4 labels <branch> | sort -k3

第三列是日期。这困扰了我几个月,终于有了这个时刻。

答案 2 :(得分:0)

要限制返回的标签数量,您可以使用-m选项:

p4 labels -m 1 -e 'your pattern'

这只会返回一个标签。另外值得注意的是,许多p4命令将使用-m参数来控制返回的结果数。还有一件事:如果您需要/需要,模式参数的-E版本会使过滤器模式不区分大小写。

参考:http://www.perforce.com/perforce/doc.current/manuals/cmdref/labels.html

如果p4 labels命令无法满足您的需求,我建议您查看perforce提供的PerlPythonRuby API - 这些都是Perforce的工作人员支持的库,并且能够满足您的自定义代码需求。

http://www.perforce.com/product/components/apis

答案 3 :(得分:0)

补充@Garrett Waiss和@祖鲁的答案:

您还可以使用p4 labels开关告诉-t输出时间,然后按日期和时间排序。通过tail管道,以获得您问题中的最新结果:

p4 labels -t <expression> | sort -k3,3 -k4,4 | tail -n1

另请注意:

  • 某些p4客户端版本希望您在标签表达之前指定-e
  • 如果您正在使用标签命名方案,例如mylabel_001,mylabel_002,......那么您希望表达式为mylabel_ *,即: p4 labels -t -e mylabel_* | sort -k3,3 -k4,4 | tail -n1