diff options
Diffstat (limited to 'lib/PublicInbox/GitCredential.pm')
-rw-r--r-- | lib/PublicInbox/GitCredential.pm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/PublicInbox/GitCredential.pm b/lib/PublicInbox/GitCredential.pm index 826e7a55..c6da6a09 100644 --- a/lib/PublicInbox/GitCredential.pm +++ b/lib/PublicInbox/GitCredential.pm @@ -25,6 +25,21 @@ sub run ($$) { close $out_r or die "`git credential $op' failed: \$!=$! \$?=$?\n"; } +sub check_netrc ($) { + my ($self) = @_; + + # part of the standard library, but distributions may split it out + eval { require Net::Netrc }; + if ($@) { + warn "W: Net::Netrc missing: $@\n"; + return; + } + if (my $x = Net::Netrc->lookup($self->{host}, $self->{username})) { + $self->{username} //= $x->login; + $self->{password} = $x->password; + } +} + sub fill { my ($self) = @_; my $out_r = run($self, 'fill'); |