首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在没有提交新文件的情况下处理Perl中的Perforce消息

在没有提交新文件的情况下处理Perl中的Perforce消息
EN

Stack Overflow用户
提问于 2017-05-25 07:08:55
回答 3查看 105关注 0票数 0

我正在尝试编写一个Perl子例程,它返回一个文件数组,这些文件已经被修改并从$previous_datenow提交到Perforce存储库。子程序如下所示:

代码语言:javascript
运行
复制
sub p4_files {
    my ($previous_date) = @_;

    my $files = "//depot/project/design/...rtl.sv"
    my $p4cmd = "p4 files -e $files\@$previous_date,\@now";

    my @filelist = `$p4cmd`;
    chomp @filelist;

    return @filelist;
}

如果在给定日期之间提交了文件,则子例程将按预期工作。但是,没有进行任何新的更改,执行p4 files命令将返回一条消息:

代码语言:javascript
运行
复制
prompt% p4 files -e //depot/project/design/...rtl.sv\@25/05/2017,\@now
prompt% //depot/project/design/...rtl.sv\@25/05/2017,\@now - no revision(s) after that date.

我应该如何在Perl脚本中处理这个问题?遇到这种情况时,我想退出脚本。

EN

Stack Overflow用户

回答已采纳

发布于 2017-05-25 07:49:24

如果数组没有填充,什么也不做。

代码语言:javascript
运行
复制
my @filelist = `$p4cmd`;
good_bye() unless @filelist;  # Say goodbye and exit.

chomp @filelist;

要抑制消息,只需将命令的stderr重定向到bitbucket:

代码语言:javascript
运行
复制
my $p4cmd = "p4 files -e $files\@$previous_date,\@now 2> /dev/null";
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44174400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档