提交 2777ef76 编写于 作者: E Eric Wong 提交者: Martin Langhoff

archimport: first, make sure it still compiles

(ML: And introduce safe_pipe_capture())
Signed-off-by: NEric Wong <normalperson@yhbt.net>
Signed-off-by: NMartin Langhoff <martin@catalyst.net.nz>
上级 8b15e2fb
......@@ -99,6 +99,7 @@ END
my %rptags = (); # my reverse private tags
# to map a SHA1 to a commitid
my $TLA = $ENV{'ARCH_CLIENT'} || 'tla';
foreach my $root (@arch_roots) {
my ($arepo, $abranch) = split(m!/!, $root);
......@@ -850,3 +851,18 @@ sub commitid2pset {
|| (print Dumper(sort keys %psets)) && die "Cannot find patchset for $name";
return $ps;
}
# an alterative to `command` that allows input to be passed as an array
# to work around shell problems with weird characters in arguments
sub safe_pipe_capture {
my @output;
if (my $pid = open my $child, '-|') {
@output = (<$child>);
close $child or die join(' ',@_).": $! $?";
} else {
exec(@_) or die $?; # exec() can fail the executable can't be found
}
return wantarray ? @output : join('',@output);
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册