[PATCH v2 5/5] merge-recursive: find-renames resets threshold
- From
- Felipe Gonçalves Assis <felipeg.assis@gmail.com>
- Date
- Feb 21, 2016, 22:59 UTC
- Message-ID
- <1456095545-20201-6-git-send-email-felipegassis@gmail.com>
- In-Reply-To
- <1456095545-20201-1-git-send-email-felipegassis@gmail.com>
Make the find-renames option follow the behaviour in git-diff, where it resets the threshold when none is given. So, for instance, "--find-renames=25 --find-renames" should result in the default threshold (50%) instead of 25%.
Add corresponding test.
Signed-off-by: Felipe Gonçalves Assis <felipegassis@gmail.com> ---
Now bundles the relevant test.
merge-recursive.c | 4 +++- t/t3034-merge-recursive-rename-options.sh | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/merge-recursive.c b/merge-recursive.c index 7bff5be..b880ae5 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -2094,8 +2094,10 @@ int parse_merge_opt(struct merge_options *o, const char *s) o->renormalize = 0; else if (!strcmp(s, "no-renames")) o->detect_rename = 0; - else if (!strcmp(s, "find-renames")) + else if (!strcmp(s, "find-renames")) { o->detect_rename = 1; + o->rename_score = 0; + } else if (skip_prefix(s, "find-renames=", &arg) || skip_prefix(s, "rename-threshold=", &arg)) { if ((o->rename_score = parse_rename_score(&arg)) == -1 || *arg != 0) diff --git a/t/t3034-merge-recursive-rename-options.sh b/t/t3034-merge-recursive-rename-options.sh index d4f9742..54d5f1b 100755 --- a/t/t3034-merge-recursive-rename-options.sh +++ b/t/t3034-merge-recursive-rename-options.sh @@ -146,6 +146,12 @@ test_expect_success 'last wins in --find-renames=<m> --find-renames=<n>' ' check_find_renames_75 ' +test_expect_success '--find-renames resets threshold' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --find-renames=25 --find-renames HEAD^ -- HEAD master && + check_find_renames_50 +' + test_expect_success 'last wins in --no-renames --find-renames' ' git read-tree --reset -u HEAD && test_must_fail git merge-recursive --no-renames --find-renames HEAD^ -- HEAD master &&
-- 2.7.1.492.gd821b20