[PATCH v2 0/2] add additional config settings for merge
From: Ben Peart <hidden>
Date: 2018-04-24 17:11:46
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
Updated in response to feedback. Mostly documentation changes but the diffstat at the end of the merge (if on) now honors the new merge.rename setting as well. Base Ref: master Web-Diff: https://github.com/benpeart/git/commit/653bfe6e01 Checkout: git fetch https://github.com/benpeart/git merge-options-v2 && git checkout 653bfe6e01 ### Interdiff (v1..v2):
diff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt
index 5ca942ab5e..77caa66c2f 100644
--- a/Documentation/diff-config.txt
+++ b/Documentation/diff-config.txt@@ -112,7 +112,8 @@ diff.orderFile:: diff.renameLimit:: The number of files to consider when performing the copy/rename - detection; equivalent to the 'git diff' option `-l`. + detection; equivalent to the 'git diff' option `-l`. This setting + has no effect if rename detection is turned off. diff.renames:: Whether and how Git detects renames. If set to "false",
diff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt
index 5a9ab969db..38492bcb98 100644
--- a/Documentation/merge-config.txt
+++ b/Documentation/merge-config.txt@@ -39,7 +39,8 @@ include::fmt-merge-msg-config.txt[] merge.renameLimit:: The number of files to consider when performing rename detection during a merge; if not specified, defaults to the value of - diff.renameLimit. + diff.renameLimit. This setting has no effect if rename detection + is turned off. merge.renames:: Whether and how Git detects renames. If set to "false",
diff --git a/Documentation/merge-strategies.txt b/Documentation/merge-strategies.txt
index 4a58aad4b8..1e0728aa12 100644
--- a/Documentation/merge-strategies.txt
+++ b/Documentation/merge-strategies.txt@@ -84,12 +84,14 @@ no-renormalize;; `merge.renormalize` configuration variable. no-renames;; - Turn off rename detection. + Turn off rename detection. This overrides the `merge.renames` + configuration variable. See also linkgit:git-diff[1] `--no-renames`. find-renames[=<n>];; Turn on rename detection, optionally setting the similarity - threshold. This is the default. + threshold. This is the default. This overrides the + 'merge.renames' configuration variable. See also linkgit:git-diff[1] `--find-renames`. rename-threshold=<n>;;
diff --git a/builtin/merge.c b/builtin/merge.c
index 8746c5e3e8..3be52cd316 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c@@ -424,6 +424,7 @@ static void finish(struct commit *head_commit, opts.output_format |= DIFF_FORMAT_SUMMARY | DIFF_FORMAT_DIFFSTAT; opts.detect_rename = DIFF_DETECT_RENAME; + git_config_get_bool("merge.renames", &opts.detect_rename); diff_setup_done(&opts); diff_tree_oid(head, new_head, "", &opts); diffcore_std(&opts);
### Patches Ben Peart (2): merge: Add merge.renames config setting merge: Add merge.aggressive config setting Documentation/diff-config.txt | 3 ++- Documentation/merge-config.txt | 12 +++++++++++- Documentation/merge-strategies.txt | 6 ++++-- builtin/merge.c | 1 + merge-recursive.c | 2 ++ 5 files changed, 20 insertions(+), 4 deletions(-) base-commit: 0b0cc9f86731f894cff8dd25299a9b38c254569e -- 2.17.0.windows.1