当我在 Linux 中输入以下命令时,我会得到一个标签列表:
p4 labels -e '< pattern-for-required-label >'
但我只想获取列表中的最新标签。如果有任何命令可以让我从长列表中选择最新的标签?
p4 labels -e ''|head
(或“|tail”,取决于您要查看列表的顶部还是底部)。
您可以使用以下sort
命令执行此操作:
p4 labels <branch> | sort -k3
第三列是日期。这困扰了我好几个月,终于有了一个哈哈的时刻。
要限制返回的标签数量,您可以使用以下-m
选项:
p4 labels -m 1 -e 'your pattern'
这只会返回一个标签。另外值得注意的是,许多 p4 命令将使用-m
参数来控制返回的结果数量。还有一件事:-E
如果您希望/需要,模式参数的版本使过滤器模式不区分大小写。
参考:http ://www.perforce.com/perforce/doc.current/manuals/cmdref/labels.html
如果 p4 标签命令没有得到你想要的,我建议看看 perforce 提供的Perl、Python和Ruby API——这些都是 Perforce 工作人员支持的库,并且非常有能力连接你的自定义代码需要。
为了补充@Garrett Waiss 和@Zulu 的回答:
您还可以p4 labels
使用 switch 告诉输出时间-t
,然后按日期和时间排序。通过管道tail
获取最新结果,如您的问题所示:
p4 labels -t <expression> | sort -k3,3 -k4,4 | tail -n1
另请注意:
-e
在标签表达式之前指定
p4 labels -t -e mylabel_* | sort -k3,3 -k4,4 | tail -n1