Add Git::config_path()

Use --path option when calling 'git config' thus allow for pathname
expansion, e.g. a tilde.

Signed-off-by: Cord Seele <cowose@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Cord Seele 2011-09-30 12:52:24 +02:00 committed by Junio C Hamano
parent 85e9c7e1d4
commit 9fef9e2790

View file

@ -627,6 +627,38 @@ sub config_bool {
};
}
=item config_path ( VARIABLE )
Retrieve the path configuration C<VARIABLE>. The return value
is an expanded path or C<undef> if it's not defined.
This currently wraps command('config') so it is not so fast.
=cut
sub config_path {
my ($self, $var) = _maybe_self(@_);
try {
my @cmd = ('config', '--path');
unshift @cmd, $self if $self;
if (wantarray) {
return command(@cmd, '--get-all', $var);
} else {
return command_oneline(@cmd, '--get', $var);
}
} catch Git::Error::Command with {
my $E = shift;
if ($E->value() == 1) {
# Key not found.
return undef;
} else {
throw $E;
}
};
}
=item config_int ( VARIABLE )
Retrieve the integer configuration C<VARIABLE>. The return value