diff options
-rwxr-xr-x | git-remote.perl | 4 | ||||
-rwxr-xr-x | git-send-email.perl | 4 | ||||
-rw-r--r-- | perl/Git.pm | 12 |
3 files changed, 12 insertions, 8 deletions
diff --git a/git-remote.perl b/git-remote.perl index 52013fe76d..5763799127 100755 --- a/git-remote.perl +++ b/git-remote.perl @@ -297,9 +297,9 @@ sub update_remote { } elsif ($name eq 'default') { undef @remotes; for (sort keys %$remote) { - my $do_fetch = $git->config_boolean("remote." . $_ . + my $do_fetch = $git->config_bool("remote." . $_ . ".skipDefaultUpdate"); - if (!defined($do_fetch) || $do_fetch ne "true") { + unless ($do_fetch) { push @remotes, $_; } } diff --git a/git-send-email.perl b/git-send-email.perl index a6e3e02619..404095f258 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -154,8 +154,8 @@ if ($@) { $term = new FakeTerm "$@: going non-interactive"; } -my $def_chain = $repo->config_boolean('sendemail.chainreplyto'); -if ($def_chain and $def_chain eq 'false') { +my $def_chain = $repo->config_bool('sendemail.chainreplyto'); +if (defined $def_chain and not $def_chain) { $chain_reply_to = 0; } diff --git a/perl/Git.pm b/perl/Git.pm index b5b1cf5edc..8fd3611753 100644 --- a/perl/Git.pm +++ b/perl/Git.pm @@ -516,9 +516,11 @@ sub config { } -=item config_boolean ( VARIABLE ) +=item config_bool ( VARIABLE ) -Retrieve the boolean configuration C<VARIABLE>. +Retrieve the bool configuration C<VARIABLE>. The return value +is usable as a boolean in perl (and C<undef> if it's not defined, +of course). Must be called on a repository instance. @@ -526,14 +528,16 @@ This currently wraps command('config') so it is not so fast. =cut -sub config_boolean { +sub config_bool { my ($self, $var) = @_; $self->repo_path() or throw Error::Simple("not a repository"); try { - return $self->command_oneline('config', '--bool', '--get', + my $val = $self->command_oneline('config', '--bool', '--get', $var); + return undef unless defined $val; + return $val eq 'true'; } catch Git::Error::Command with { my $E = shift; if ($E->value() == 1) { |