Merge branch 'jk/setup-sequence-update'
There were numerous corner cases in which the configuration files are read and used or not read at all depending on the directory a Git command was run, leading to inconsistent behaviour. The code to set-up repository access at the beginning of a Git process has been updated to fix them. * jk/setup-sequence-update: t1007: factor out repeated setup init: reset cached config when entering new repo init: expand comments explaining config trickery config: only read .git/config from configured repos test-config: setup git directory t1302: use "git -C" pager: handle early config pager: use callbacks instead of configset pager: make pager_program a file-local static pager: stop loading git_default_config() pager: remove obsolete comment diff: always try to set up the repository diff: handle --no-index prefixes consistently diff: skip implicit no-index check when given --no-index patch-id: use RUN_SETUP_GENTLY hash-object: always try to set up the git repository
This commit is contained in:
@ -40,7 +40,6 @@ size_t packed_git_window_size = DEFAULT_PACKED_GIT_WINDOW_SIZE;
|
||||
size_t packed_git_limit = DEFAULT_PACKED_GIT_LIMIT;
|
||||
size_t delta_base_cache_limit = 96 * 1024 * 1024;
|
||||
unsigned long big_file_threshold = 512 * 1024 * 1024;
|
||||
const char *pager_program;
|
||||
int pager_use_color = 1;
|
||||
const char *editor_program;
|
||||
const char *askpass_program;
|
||||
@ -196,6 +195,13 @@ int is_bare_repository(void)
|
||||
return is_bare_repository_cfg && !get_git_work_tree();
|
||||
}
|
||||
|
||||
int have_git_dir(void)
|
||||
{
|
||||
return startup_info->have_repository
|
||||
|| git_dir
|
||||
|| getenv(GIT_DIR_ENVIRONMENT);
|
||||
}
|
||||
|
||||
const char *get_git_dir(void)
|
||||
{
|
||||
if (!git_dir)
|
||||
@ -345,3 +351,8 @@ int get_shared_repository(void)
|
||||
}
|
||||
return the_shared_repository;
|
||||
}
|
||||
|
||||
void reset_shared_repository(void)
|
||||
{
|
||||
need_shared_repository_from_config = 1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user