1

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

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

但我只想获取列表中的最新标签。如果有任何命令可以让我从长列表中选择最新的标签?

4

4 回答 4

1

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

于 2012-06-29T22:59:08.953 回答
1

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

p4 labels <branch> | sort -k3

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

于 2014-10-10T22:19:13.323 回答
0

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

p4 labels -m 1 -e 'your pattern'

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

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

如果 p4 标签命令没有得到你想要的,我建议看看 perforce 提供的PerlPythonRuby API——这些都是 Perforce 工作人员支持的库,并且非常有能力连接你的自定义代码需要。

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

于 2012-06-29T23:08:26.373 回答
0

为了补充@Garrett Waiss 和@Zulu 的回答:

您还可以p4 labels使用 switch 告诉输出时间-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
于 2017-03-23T23:54:19.623 回答