【发布时间】:2012-06-29 22:56:08
【问题描述】:
当我在 Linux 中输入以下命令时,我会得到一个标签列表:
p4 labels -e '< pattern-for-required-label >'
但我只想获取列表中的最新标签。如果有任何命令可以让我从长列表中选择最新的标签?
【问题讨论】:
标签: linux unix label perforce p4v
当我在 Linux 中输入以下命令时,我会得到一个标签列表:
p4 labels -e '< pattern-for-required-label >'
但我只想获取列表中的最新标签。如果有任何命令可以让我从长列表中选择最新的标签?
【问题讨论】:
标签: linux unix label perforce p4v
p4 labels -e ''|head(或“|tail”,取决于您想查看列表的顶部还是底部)。
【讨论】:
p4 labels|head(没有“-e”)有用吗? p4 labels|tail -25 是否只显示最后 25 行?如果不是,p4 labels > /tmp/tmp.txt 是否不显示任何内容,而是重定向到“/tmp/tmp.txt”???
os independent。获取最新标签的通用命令是什么?我试过p4 labels -E "pattern" -m 1,但这给出了最旧的标签
p4 labels 返回按字母顺序而不是按日期排序的标签。似乎没有根据documentation 按日期排序的选项。你最好的选择是@Garrett Waiss 的回答:p4 labels <branch> | sort -k3
您可以使用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 的回答:
您还可以使用-t 开关告诉p4 labels 输出时间,然后按日期和时间排序。通过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
【讨论】: