- fn = collect_config;
- data = &values;
- if (respect_includes) {
- inc.fn = fn;
- inc.data = data;
- fn = git_config_include;
- data = &inc;
- }
-
- if (do_all && system_wide)
- git_config_from_file(fn, system_wide, data);
- if (do_all && xdg)
- git_config_from_file(fn, xdg, data);
- if (do_all && global)
- git_config_from_file(fn, global, data);
- if (do_all)
- git_config_from_file(fn, local, data);
- git_config_from_parameters(fn, data);
- if (!do_all && !values.nr)
- git_config_from_file(fn, local, data);
- if (!do_all && !values.nr && global)
- git_config_from_file(fn, global, data);
- if (!do_all && !values.nr && xdg)
- git_config_from_file(fn, xdg, data);
- if (!do_all && !values.nr && system_wide)
- git_config_from_file(fn, system_wide, data);
+ git_config_with_options(collect_config, &values,
+ given_config_file, respect_includes);