git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Felipe Gonçalves Assis" <felipeg.assis@gmail.com>
To: git@vger.kernel.org
Cc: Johannes.Schindelin@gmx.de, gitster@pobox.com,
	sunshine@sunshineco.com,
	"Felipe Gonçalves Assis" <felipegassis@gmail.com>
Subject: [PATCH v2 5/5] merge-recursive: find-renames resets threshold
Date: Sun, 21 Feb 2016 19:59:05 -0300	[thread overview]
Message-ID: <1456095545-20201-6-git-send-email-felipegassis@gmail.com> (raw)
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

  parent reply	other threads:[~2016-02-21 23:00 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-21 22:59 [PATCH v2 0/5] Tests and fixes for merge-recursive rename options Felipe Gonçalves Assis
2016-02-21 22:59 ` [PATCH v2 1/5] merge-strategies.txt: fix typo Felipe Gonçalves Assis
2016-02-21 22:59 ` [PATCH v2 2/5] t3034: add rename threshold tests Felipe Gonçalves Assis
2016-02-22 19:03   ` Junio C Hamano
2016-02-21 22:59 ` [PATCH v2 3/5] t3034: test option to disable renames Felipe Gonçalves Assis
2016-02-21 22:59 ` [PATCH v2 4/5] t3034: test deprecated interface Felipe Gonçalves Assis
2016-02-21 22:59 ` Felipe Gonçalves Assis [this message]
2016-02-22 21:00 ` [PATCH v2 0/5] Tests and fixes for merge-recursive rename options Junio C Hamano
2016-02-22 22:16   ` Felipe Gonçalves Assis
2016-02-22 22:29     ` Junio C Hamano
2016-02-22 22:37       ` Felipe Gonçalves Assis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1456095545-20201-6-git-send-email-felipegassis@gmail.com \
    --to=felipeg.assis@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=felipegassis@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=sunshine@sunshineco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).