Junio C Hamano <[email protected]> writes:
> Otherwise, looks almost ready to me.
For now, I've queued this as a minimum fix-up on top of your patch
and pushed the result out. It is an equivalent of the previous
review comments in a patch form. Please review and incorporate in
your reroll as appropriate.
I haven't looked at the part that interacts with the credential
subsystem itself, though.
contrib/credential/netrc/git-credential-netrc | 35 ++++++++++++---------------
1 file changed, 16 insertions(+), 19 deletions(-)
diff --git a/contrib/credential/netrc/git-credential-netrc
b/contrib/credential/netrc/git-credential-netrc
index 8298564..30e05fb 100755
--- a/contrib/credential/netrc/git-credential-netrc
+++ b/contrib/credential/netrc/git-credential-netrc
@@ -74,6 +74,10 @@ Options:
first matching entry found is returned via the
credential
helper protocol (see below).
+ When no -f option is given, .authinfo.gpg, .netrc.gpg,
+ .authinfo, and .netrc files in your home directory are
used
+ in this order.
+
-k|--insecure : ignore bad file ownership or permissions
-d|--debug : turn on debugging (developer info)
@@ -206,8 +210,7 @@ foreach my $file (@$files) {
unless (scalar @entries) {
if ($!) {
log_verbose("Unable to open $file: $!");
- }
- else {
+ } else {
log_verbose("No netrc entries found in $file");
}
@@ -230,15 +233,10 @@ sub load_netrc {
my $io;
if ($gpgmode) {
- # typical shell character escapes from
http://www.slac.stanford.edu/slac/www/resource/how-to-use/cgi-rexx/cgi-esc.html
- my $f = $file;
- $f =~ s/([;<>\*\|`&\$!#\(\)\[\]\{\}:'"])/\\$1/g;
- # GPG doesn't work well with 2- or 3-argument open
- my $cmd = "gpg --decrypt $f";
- log_verbose("Using GPG to open $file: [$cmd]");
- open $io, "$cmd|";
- }
- else {
+ my @cmd = (qw(gpg --decrypt), $file)
+ log_verbose("Using GPG to open $file: [@cmd]");
+ open $io, "-|", @cmd;
+ } else {
log_verbose("Opening $file...");
open $io, '<', $file;
}
@@ -257,6 +255,9 @@ sub load_netrc {
my %entry;
my $num_port;
+ if (!defined $nentry->{machine}) {
+ next;
+ }
if (defined $nentry->{port} && $nentry->{port} =~ m/^\d+$/) {
$num_port = $nentry->{port};
delete $nentry->{port};
@@ -302,8 +303,7 @@ sub net_netrc_loader {
while (@tok) {
if ($tok[0] eq "default") {
shift(@tok);
- undef $mach; # ignore 'default' lines
-
+ $mach = { machine => undef }
next TOKEN;
}
@@ -313,8 +313,7 @@ sub net_netrc_loader {
my $host = shift @tok;
$mach = { machine => $host };
push @entries, $mach;
- }
- elsif (exists $options{tmap}->{$tok}) {
+ } elsif (exists $options{tmap}->{$tok}) {
unless ($mach) {
log_debug("Skipping token $tok because
no machine was given");
next TOKEN;
@@ -329,8 +328,7 @@ sub net_netrc_loader {
# Following line added by rmerrell to remove
'/' escape char in .netrc
$value =~ s/\/\\/\\/g;
$mach->{$tok} = $value;
- }
- elsif ($tok eq "macdef") { # we ignore macros
+ } elsif ($tok eq "macdef") { # we ignore macros
next TOKEN unless $mach;
my $value = shift @tok;
$macdef = 1;
@@ -380,8 +378,7 @@ sub find_netrc_entry {
unless ($query->{$check} eq $entry->{$check}) {
next ENTRY;
}
- }
- else {
+ } else {
log_debug("OK: any value satisfies check
$check");
}
}
--
1.8.1.2.641.g0b90ac4
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html