Browse files

config: eliminate config_exclusive_filename

This is a magic global variable that was intended as an
override to the usual git-config lookup process. Once upon a
time, you could specify GIT_CONFIG to any git program, and
it would look only at that file. This turned out to be
confusing and cause a lot of bugs for little gain. As a
result, dc87183 (Only use GIT_CONFIG in "git config", not
other programs, 2008-06-30) took this away for all callers
except git-config.

Since git-config no longer uses it either, the variable can
just go away. As the diff shows, nobody was setting to
anything except NULL, so we can just replace any sites where
it was read with NULL.

Signed-off-by: Jeff King <>
Signed-off-by: Junio C Hamano <>
  • Loading branch information...
1 parent 270a344 commit 4a7bb5ba950f08d1e46c4bd2e8b1c903b4d024c8 @peff peff committed with gitster Feb 16, 2012
Showing with 3 additions and 9 deletions.
  1. +0 −2 cache.h
  2. +3 −7 config.c
2 cache.h
@@ -1140,8 +1140,6 @@ extern const char *get_commit_output_encoding(void);
extern int git_config_parse_parameter(const char *, config_fn_t fn, void *data);
-extern const char *config_exclusive_filename;
#define MAX_GITNAME (1000)
extern char git_default_email[MAX_GITNAME];
extern char git_default_name[MAX_GITNAME];
10 config.c
@@ -26,8 +26,6 @@ static config_file *cf;
static int zlib_compression_seen;
-const char *config_exclusive_filename = NULL;
static void lowercase(char *p)
for (; *p; p++)
@@ -936,7 +934,7 @@ int git_config_with_options(config_fn_t fn, void *data,
int git_config(config_fn_t fn, void *data)
- return git_config_with_options(fn, data, config_exclusive_filename);
+ return git_config_with_options(fn, data, NULL);
@@ -1435,8 +1433,7 @@ int git_config_set_multivar_in_file(const char *config_filename,
int git_config_set_multivar(const char *key, const char *value,
const char *value_regex, int multi_replace)
- return git_config_set_multivar_in_file(config_exclusive_filename,
- key, value, value_regex,
+ return git_config_set_multivar_in_file(NULL, key, value, value_regex,
@@ -1562,8 +1559,7 @@ int git_config_rename_section_in_file(const char *config_filename,
int git_config_rename_section(const char *old_name, const char *new_name)
- return git_config_rename_section_in_file(config_exclusive_filename,
- old_name, new_name);
+ return git_config_rename_section_in_file(NULL, old_name, new_name);

0 comments on commit 4a7bb5b

Please sign in to comment.