]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/GitCredential.pm
update copyrights for 2021
[public-inbox.git] / lib / PublicInbox / GitCredential.pm
index 826e7a55e8b854fe6a1f2bfd63f696430d78b791..9e193029b877b91b781e61088937e74bf5351bb8 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2020 all contributors <meta@public-inbox.org>
+# Copyright (C) 2020-2021 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 package PublicInbox::GitCredential;
 use strict;
@@ -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');