Antonin Delpeuch <antonin@xxxxxxxxxxx> writes: > I have second thoughts about this, perhaps it is possible to refactor > things a bit further, imitating diff.c which has "git_diff_ui_config" > and "git_diff_basic_config". In a similar way, we could have > "init_merge_ui_options" and "init_merge_basic_options" which the > commands could call depending on whether they are porcelain or plumbing. It does make sense to treat the internal merge_recursive() function as robust and reliable building block whose behaviour does not get affected by configuration beyond the control of the caller, just like we treat a plumbing command. Thanks.