Add config_int() method to the Git perl module

Integer variables can have optional 'k', 'm' or 'g' suffix.
config_int() method will return simple decimal number, taking
care of those suffixes.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jakub Narebski 2007-11-23 19:04:52 +01:00 committed by Junio C Hamano
parent d6617c7cde
commit 346d203bc3

View file

@ -549,6 +549,37 @@ sub config_bool {
};
}
=item config_int ( VARIABLE )
Retrieve the integer configuration C<VARIABLE>. The return value
is simple decimal number. An optional value suffix of 'k', 'm',
or 'g' in the config file will cause the value to be multiplied
by 1024, 1048576 (1024^2), or 1073741824 (1024^3) prior to output.
It would return C<undef> if configuration variable is not defined,
Must be called on a repository instance.
This currently wraps command('config') so it is not so fast.
=cut
sub config_int {
my ($self, $var) = @_;
$self->repo_path()
or throw Error::Simple("not a repository");
try {
return $self->command_oneline('config', '--int', '--get', $var);
} catch Git::Error::Command with {
my $E = shift;
if ($E->value() == 1) {
# Key not found.
return undef;
} else {
throw $E;
}
};
}
=item ident ( TYPE | IDENTSTR )