Re: [PATCH v1 1/2] merge: Add merge.renames config setting
- From
Elijah Newren <newren@gmail.com>
- Date
- Apr 20, 2018, 17:02 UTC
- Message-ID
- <CABPp-BFANBs=tOhS5BFfTMkdQsNYbUDExWK8QB0V=qD9YwZyWw@mail.gmail.com>
- In-Reply-To
- <20180420133632.17580-2-benpeart@microsoft.com>
On Fri, Apr 20, 2018 at 6:36 AM, Ben Peart <Ben.Peart@microsoft.com> wrote:
Show 10 quoted lines
> --- a/Documentation/merge-config.txt > +++ b/Documentation/merge-config.txt > @@ -37,6 +37,11 @@ merge.renameLimit:: > during a merge; if not specified, defaults to the value of > diff.renameLimit. > > +merge.renames:: > + Whether and how Git detects renames. If set to "false", > + rename detection is disabled. If set to "true", basic rename > + detection is enabled. This is the default.
One can already control o->detect_rename via the -Xno-renames and -Xfind-renames options. I think the documentation should mention that "false" is the same as passing -Xno-renames, and "true" is the same as passing -Xfind-renames. However, find-renames does take similarity threshold as a parameter, so there's a question whether this option should provide some way to do the same. I'm not sure the answer to that; it may be that we'd want a separate config option for that, and we can wait to add it until someone actually wants it.
Show 14 quoted lines
> merge.renormalize::
> Tell Git that canonical representation of files in the
> repository has changed over time (e.g. earlier commits record
> diff --git a/merge-recursive.c b/merge-recursive.c
> index 9c05eb7f70..cd5367e890 100644
> --- a/merge-recursive.c
> +++ b/merge-recursive.c
> @@ -3256,6 +3256,7 @@ static void merge_recursive_config(struct merge_options *o)
> git_config_get_int("merge.verbosity", &o->verbosity);
> git_config_get_int("diff.renamelimit", &o->diff_rename_limit);
> git_config_get_int("merge.renamelimit", &o->merge_rename_limit);
> + git_config_get_bool("merge.renames", &o->detect_rename);
> git_config(git_xmerge_config, NULL);
> }I would expect an explicitly passed -Xno-renames or -Xfind-renames to override the config setting. Could you check if that's the case?
Also, if someone sets merge.renameLimit (to anything) and sets merge.renames to false, then they've got a contradictory setup. Does it make sense to check and warn about that anywhere?