Skip to content

Commit

Permalink
Add config_int() method to the Git perl module
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jakub Narebski authored and Junio C Hamano committed Nov 30, 2007
1 parent d6617c7 commit 346d203
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions perl/Git.pm
Original file line number Diff line number Diff line change
Expand Up @@ -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 )
Expand Down

0 comments on commit 346d203

Please sign in to comment.