Commit 2777ef76 authored by Eric Wong's avatar Eric Wong Committed by Martin Langhoff

archimport: first, make sure it still compiles

(ML: And introduce safe_pipe_capture())
Signed-off-by: 's avatarEric Wong <normalperson@yhbt.net>
Signed-off-by: 's avatarMartin Langhoff <martin@catalyst.net.nz>
parent 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% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment