]> git.ipfire.org Git - thirdparty/git.git/commit - config.c
config: return configset value for current_config_ functions
authorJeff King <peff@peff.net>
Fri, 27 May 2016 00:32:23 +0000 (20:32 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 27 May 2016 17:44:54 +0000 (10:44 -0700)
commit0d44a2dacc84fb7dcb5d684800e976f3b3c76d00
tree2e66639973179ad660efd496b83eb328bd3a20de
parent3258258f51f45efeff5ce0e9f825f347a1404efa
config: return configset value for current_config_ functions

When 473166b (config: add 'origin_type' to config_source
struct, 2016-02-19) added accessor functions for the origin
type and name, it taught them only to look at the "cf"
struct that is filled in while we are parsing the config.
This is sufficient to make it work with git-config, which
uses git_config_with_options() under the hood. That function
freshly parses the config files and triggers the callback
when it parses each key.

Most git programs, however, use git_config(). This interface
will populate a cache during the actual parse, and then
serve values from the cache. Calling current_config_filename()
in a callback here will find a NULL cf and produce an error.
There are no such callers right now, but let's prepare for
adding some by making this work.

We already record source information in a struct attached to
each value. We just need to make it globally available and
then consult it from the accessor functions.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
cache.h
config.c
t/helper/test-config.c
t/t1308-config-set.sh