Junio C Hamano wrote: > "Derrick Stolee via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > > > The fix is simple: load the default Git config in cmd_merge_tree(). > > This may also fix other behaviors that are effected by reading default > > config. The only possible downside is a little extra computation time > > spent reading config. The config parsing is placed after basic argument > > parsing so it does not slow down usage errors. > > Presumably merge-tree wants to serve a low-level machinery that > gives reliable reproducible result, we may want to keep the > configuration variables we read as narrow as practical. The > default_config() callback may still be wider than desirable from > that point of view, but I guess that is the most reasonable choice? If you want `git merge-tree` to not call git_xmerge_config, then why did you merge 1f0c3a29da (merge-tree: implement real merges, 2022-06-18) which introduces a call to init_merge_options, which calls merge_recursive_config, which calls git_xmerge_config? And BTW, the way merge_recursive_config is implemented is completely different to how the rest of the config infraestructure works. -- Felipe Contreras