if (opts->commondir)
repo_config = mkpathdup("%s/config", opts->commondir);
+ else if (opts->git_dir)
+ BUG("git_dir without commondir");
else
repo_config = NULL;
if (repo_config && !access_or_die(repo_config, R_OK, 0))
ret += git_config_from_file(fn, repo_config, data);
+ /*
+ * Note: this should have a new scope, CONFIG_SCOPE_WORKTREE.
+ * But let's not complicate things before it's actually needed.
+ */
+ if (repository_format_worktree_config) {
+ char *path = git_pathdup("config.worktree");
+ if (!access_or_die(path, R_OK, 0))
+ ret += git_config_from_file(fn, path, data);
+ free(path);
+ }
+
current_parsing_scope = CONFIG_SCOPE_CMDLINE;
if (git_config_from_parameters(fn, data) < 0)
die(_("unable to parse command-line config"));
return 0;
}
-int git_config_get_index_threads(void)
+int git_config_get_index_threads(int *dest)
{
- int is_bool, val = 0;
+ int is_bool, val;
val = git_env_ulong("GIT_TEST_INDEX_THREADS", 0);
- if (val)
- return val;
+ if (val) {
+ *dest = val;
+ return 0;
+ }
if (!git_config_get_bool_or_int("index.threads", &is_bool, &val)) {
if (is_bool)
- return val ? 0 : 1;
+ *dest = val ? 0 : 1;
else
- return val;
+ *dest = val;
+ return 0;
}
- return 0; /* auto */
+ return 1;
}
NORETURN