my ($in_r, $in_w, $out_r);
my $cmd = [ qw(git credential), $op ];
pipe($in_r, $in_w) or die "pipe: $!";
- if ($lei && !$lei->{oneshot}) { # we'll die if disconnected:
+ if ($lei) { # we'll die if disconnected:
pipe($out_r, my $out_w) or die "pipe: $!";
$lei->send_exec_cmd([ $in_r, $out_w ], $cmd, {});
} else {
close $out_r or die "`git credential $op' failed: \$!=$! \$?=$?\n";
}
-sub check_netrc ($) {
- my ($self) = @_;
+sub check_netrc {
+ my ($self, $lei) = @_;
+
+ # n.b. lei doesn't load ~/.netrc by default, public-inbox-watch does,
+ # which may've been a mistake, but we have to live with it.
+ return if ($lei && !$lei->{opt}->{netrc});
# part of the standard library, but distributions may split it out
eval { require Net::Netrc };
$self->{$1} = $2;
}
close $out_r or die "git credential fill failed: \$!=$! \$?=$?\n";
+ $self->{filled} = 1;
}
1;