[PATCH v3 0/3] add merge.renames config setting
- From
Ben Peart <ben.peart@microsoft.com>
- Date
- Apr 26, 2018, 20:52 UTC
- Message-ID
- <20180426205202.23056-1-benpeart@microsoft.com>
- In-Reply-To
- <20180420133632.17580-1-benpeart@microsoft.com>
This is a complete rewrite based on the feedback from earlier patches.
Update the documentation to better indicate command line options that override various config settings related to merge.
Add a new config merge.renames setting to to control the rename detection behavior of merge. This setting will default to the value of diff.renames.
Also adds logic so that when rename detection is turned off, the aggressive flag is passed to read_tree() so that it can auto resolve more cases that would have been handled by rename detection.
For the repro that I have been using this drops the merge time from ~1 hour to ~5 minutes and the unmerged entries goes down from ~40,000 to 1.
Helped-by: Kevin Willford <kewillf@microsoft.com> Reviewed-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Ben Peart <Ben.Peart@microsoft.com>
Base Ref: master Web-Diff: https://github.com/benpeart/git/commit/6a8372d517 Checkout: git fetch https://github.com/benpeart/git merge-options-v3 && git checkout 6a8372d517
### Patches
Ben Peart (3):
merge: update documentation for {merge,diff}.renameLimit
merge: Add merge.renames config setting
merge: pass aggressive when rename detection is turned offDocumentation/diff-config.txt | 3 ++- Documentation/merge-config.txt | 9 +++++++- Documentation/merge-strategies.txt | 6 +++-- diff.c | 2 +- diff.h | 2 ++ merge-recursive.c | 27 +++++++++++++++++------ merge-recursive.h | 8 ++++++- t/t3034-merge-recursive-rename-options.sh | 18 +++++++++++++++ 8 files changed, 62 insertions(+), 13 deletions(-)
base-commit: 1f1cddd558b54bb0ce19c8ace353fd07b758510d
-- 2.17.0.windows.1