]> git.proxmox.com Git - libgit2.git/commit - src/transports/local.c
Add config read fns with controlled error behavior
authorRussell Belfer <rb@github.com>
Mon, 25 Nov 2013 22:21:34 +0000 (14:21 -0800)
committerRussell Belfer <rb@github.com>
Wed, 11 Dec 2013 18:57:49 +0000 (10:57 -0800)
commit9f77b3f6f5ce6944ec49dfc666ef6b8df0af0c6b
tree1c5405663a7bcc505f098b375c7ff5dc872af3ea
parent0eedacb06ae07fd0d784066ad41383276e05d92e
Add config read fns with controlled error behavior

This adds `git_config__lookup_entry` which will look up a key in
a config and return either the entry or NULL if the key was not
present.  Optionally, it can either suppress all errors or can
return them (although not finding the key is not an error for this
function).  Unlike other accessors, this does not normalize the
config key string, so it must only be used when the key is known
to be in normalized form (i.e. all lower-case before the first dot
and after the last dot, with no invalid characters).

This also adds three high-level helper functions to look up config
values with no errors and a fallback value.  The three functions
are for string, bool, and int values, and will resort to the
fallback value for any error that arises.  They are:

* `git_config__get_string_force`
* `git_config__get_bool_force`
* `git_config__get_int_force`

None of them normalize the config `key` either, so they can only
be used for internal cases where the key is known to be in normal
format.
15 files changed:
include/git2/diff.h
src/attr.c
src/config.c
src/config.h
src/config_cache.c
src/config_file.c
src/diff.c
src/diff_driver.c
src/diff_tform.c
src/merge.c
src/notes.c
src/remote.c
src/repository.c
src/submodule.c
src/transports/local.c