Merge branch 'nd/setup'
* nd/setup: (47 commits) setup_work_tree: adjust relative $GIT_WORK_TREE after moving cwd git.txt: correct where --work-tree path is relative to Revert "Documentation: always respect core.worktree if set" t0001: test git init when run via an alias Remove all logic from get_git_work_tree() setup: rework setup_explicit_git_dir() setup: clean up setup_discovered_git_dir() t1020-subdirectory: test alias expansion in a subdirectory setup: clean up setup_bare_git_dir() setup: limit get_git_work_tree()'s to explicit setup case only Use git_config_early() instead of git_config() during repo setup Add git_config_early() git-rev-parse.txt: clarify --git-dir t1510: setup case #31 t1510: setup case #30 t1510: setup case #29 t1510: setup case #28 t1510: setup case #27 t1510: setup case #26 t1510: setup case #25 ...
This commit is contained in:
19
config.c
19
config.c
@ -852,10 +852,9 @@ int git_config_from_parameters(config_fn_t fn, void *data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int git_config(config_fn_t fn, void *data)
|
||||
int git_config_early(config_fn_t fn, void *data, const char *repo_config)
|
||||
{
|
||||
int ret = 0, found = 0;
|
||||
char *repo_config = NULL;
|
||||
const char *home = NULL;
|
||||
|
||||
/* Setting $GIT_CONFIG makes git read _only_ the given config file. */
|
||||
@ -877,12 +876,10 @@ int git_config(config_fn_t fn, void *data)
|
||||
free(user_config);
|
||||
}
|
||||
|
||||
repo_config = git_pathdup("config");
|
||||
if (!access(repo_config, R_OK)) {
|
||||
if (repo_config && !access(repo_config, R_OK)) {
|
||||
ret += git_config_from_file(fn, repo_config, data);
|
||||
found += 1;
|
||||
}
|
||||
free(repo_config);
|
||||
|
||||
ret += git_config_from_parameters(fn, data);
|
||||
if (config_parameters)
|
||||
@ -891,6 +888,18 @@ int git_config(config_fn_t fn, void *data)
|
||||
return ret == 0 ? found : ret;
|
||||
}
|
||||
|
||||
int git_config(config_fn_t fn, void *data)
|
||||
{
|
||||
char *repo_config = NULL;
|
||||
int ret;
|
||||
|
||||
repo_config = git_pathdup("config");
|
||||
ret = git_config_early(fn, data, repo_config);
|
||||
if (repo_config)
|
||||
free(repo_config);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Find all the stuff for git_config_set() below.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user