summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2016-05-27 00:32:23 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-05-27 17:44:54 (GMT)
commit0d44a2dacc84fb7dcb5d684800e976f3b3c76d00 (patch)
tree2e66639973179ad660efd496b83eb328bd3a20de /cache.h
parent3258258f51f45efeff5ce0e9f825f347a1404efa (diff)
downloadgit-0d44a2dacc84fb7dcb5d684800e976f3b3c76d00.zip
git-0d44a2dacc84fb7dcb5d684800e976f3b3c76d00.tar.gz
git-0d44a2dacc84fb7dcb5d684800e976f3b3c76d00.tar.bz2
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>
Diffstat (limited to 'cache.h')
-rw-r--r--cache.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index 6049f86..1bce212 100644
--- a/cache.h
+++ b/cache.h
@@ -1696,6 +1696,7 @@ extern int ignore_untracked_cache_config;
struct key_value_info {
const char *filename;
int linenr;
+ const char *origin_type;
};
extern NORETURN void git_die_config(const char *key, const char *err, ...) __attribute__((format(printf, 2, 3)));