On 8/8/2019 2:34 PM, Elijah Newren wrote: > Sorry for the late reply... > > On Tue, Jul 30, 2019 at 3:49 PM Derrick Stolee via GitGitGadget > <gitgitgadget@xxxxxxxxx> wrote: >> >> --- a/Documentation/config/merge.txt >> +++ b/Documentation/config/merge.txt >> @@ -54,7 +54,8 @@ merge.directoryRenames:: >> moved into the new directory. If set to "conflict", a conflict >> will be reported for such paths. If merge.renames is false, >> merge.directoryRenames is ignored and treated as false. Defaults >> - to "conflict". >> + to "conflict" unless `feature.experimental` is enabled and the >> + default is "true". > > I have a hard time parsing that changed sentence. Perhaps something like: > ...unless `feature.experimental` is enabled in which case the > default is "true". > ? > > ... >> diff --git a/repo-settings.c b/repo-settings.c >> index af93696343..e0673938c0 100644 >> --- a/repo-settings.c >> +++ b/repo-settings.c >> @@ -34,6 +34,18 @@ void prepare_repo_settings(struct repository *r) >> free(strval); >> } >> >> + if (!repo_config_get_maybe_bool(r, "merge.directoryrenames", &value)) >> + r->settings.merge_directory_renames = value ? MERGE_DIRECTORY_RENAMES_TRUE : 0; > > Shouldn't that be "MERGE_DIRECTORY_RENAMES_NONE" instead of "0"? > >> diff --git a/repository.h b/repository.h >> index e7a72e2341..b8e52dd48f 100644 >> --- a/repository.h >> +++ b/repository.h >> @@ -19,6 +19,20 @@ enum untracked_cache_setting { >> UNTRACKED_CACHE_WRITE = 2 >> }; >> >> +enum merge_directory_renames_setting { >> + MERGE_DIRECTORY_RENAMES_UNSET = -1, >> + MERGE_DIRECTORY_RENAMES_NONE = 0, >> + MERGE_DIRECTORY_RENAMES_CONFLICT = 1, >> + MERGE_DIRECTORY_RENAMES_TRUE = 2, >> +}; > > Thanks for adding these; makes things much nicer. :-) Thanks for the feedback! It's just in time for me to send a v4. -Stolee