{"thread":{"id":"41454","subject":"[PATCH v5 0/3] merge-recursive: option to disable renames","startedAt":"2016-02-21T02:34:29Z","lastAt":"2016-02-21T15:07:18Z","messageCount":6,"participants":["Felipe Gonçalves Assis","Junio C Hamano"],"isPatch":true,"patchVersion":5,"patchTotal":3},"messages":[{"id":"278747","messageId":"1456022072-5342-1-git-send-email-felipegassis@gmail.com","threadId":"41454","inReplyTo":null,"subject":"[PATCH v5 0/3] merge-recursive: option to disable renames","fromName":"Felipe Gonçalves Assis","fromEmail":"felipeg.assis@gmail.com","sentAt":"2016-02-21T02:34:29Z","receivedAt":"2016-02-21T02:34:29Z","isPatch":true,"sender":{"key":"felipeg.assis@gmail.com","avatar":null},"body":"Add tests as suggested by Eric Sunshine. Also fixes an inconsitency in the last\npart.\n\nSince there were no tests for the --rename-threshold option, I added them in a\nseparate commit, which is useful in itself.\n\nThe other two commits contain the previous patches plus the relevant tests.\n\nFor the last part, I made --find-renames (without =<n>) reset the similarity\nindex to the default, just as in git-diff.\n\nFelipe Gonçalves Assis (3):\n  merge-recursive: test rename threshold option\n  merge-recursive: option to disable renames\n  merge-recursive: more consistent interface\n\n Documentation/merge-strategies.txt                 |  12 +-\n merge-recursive.c                                  |  14 +-\n merge-recursive.h                                  |   1 +\n ...s.sh => t3032-merge-recursive-space-options.sh} |   2 +-\n t/t3034-merge-recursive-rename-options.sh          | 200 +++++++++++++++++++++\n 5 files changed, 225 insertions(+), 4 deletions(-)\n rename t/{t3032-merge-recursive-options.sh => t3032-merge-recursive-space-options.sh} (99%)\n create mode 100755 t/t3034-merge-recursive-rename-options.sh\n\n-- \n2.7.1.342.gf5bb636\n"},{"id":"278748","messageId":"1456022072-5342-2-git-send-email-felipegassis@gmail.com","threadId":"41454","inReplyTo":"1456022072-5342-1-git-send-email-felipegassis@gmail.com","subject":"[PATCH v5 1/3] merge-recursive: test rename threshold option","fromName":"Felipe Gonçalves Assis","fromEmail":"felipeg.assis@gmail.com","sentAt":"2016-02-21T02:34:30Z","receivedAt":"2016-02-21T02:34:30Z","isPatch":true,"sender":{"key":"felipeg.assis@gmail.com","avatar":null},"body":"Commit 10ae7526bebb505ddddba01f76ec97d5f7b5e0e5 introduced this feature,\nbut did not include any tests. This commit fixes this.\n\nSigned-off-by: Felipe Gonçalves Assis <felipegassis@gmail.com>\n---\n\nThis commit is independent of the proposed feature, so it might be of interest\neven if the rest of the patch is rejected.\n\n t/t3034-merge-recursive-rename-threshold.sh | 146 ++++++++++++++++++++++++++++\n 1 file changed, 146 insertions(+)\n create mode 100755 t/t3034-merge-recursive-rename-threshold.sh\n\ndiff --git a/t/t3034-merge-recursive-rename-threshold.sh b/t/t3034-merge-recursive-rename-threshold.sh\nnew file mode 100755\nindex 0000000..f0b3f44\n--- /dev/null\n+++ b/t/t3034-merge-recursive-rename-threshold.sh\n@@ -0,0 +1,146 @@\n+#!/bin/sh\n+\n+test_description='merge-recursive rename threshold option\n+\n+Test rename detection by examining rename/delete conflicts.\n+\n+Similarity index:\n+R100 a-old a-new\n+R075 b-old b-new\n+R050 c-old c-new\n+R025 d-old d-new\n+'\n+\n+. ./test-lib.sh\n+\n+test_expect_success setup '\n+\tget_expected_stages () {\n+\t\tgit checkout rename -- $1-new &&\n+\t\tgit ls-files --stage $1-new > expected-stages-undetected-$1\n+\t\tsed \"s/ 0\t/ 2\t/\n+\t\t\" < expected-stages-undetected-$1 > expected-stages-detected-$1\n+\t\tgit read-tree -u --reset HEAD\n+\t} &&\n+\n+\trename_detected () {\n+\t\tgit ls-files --stage $1-old $1-new > stages-actual-$1 &&\n+\t\ttest_cmp expected-stages-detected-$1 stages-actual-$1\n+\t} &&\n+\n+\trename_undetected () {\n+\t\tgit ls-files --stage $1-old $1-new > stages-actual-$1 &&\n+\t\ttest_cmp expected-stages-undetected-$1 stages-actual-$1\n+\t} &&\n+\n+\tcheck_common () {\n+\t\tgit ls-files --stage > stages-actual &&\n+\t\ttest $(wc -l < stages-actual) -eq 4\n+\t} &&\n+\n+\tcheck_find_renames_25 () {\n+\t\tcheck_common &&\n+\t\trename_detected a &&\n+\t\trename_detected b &&\n+\t\trename_detected c &&\n+\t\trename_detected d\n+\t} &&\n+\n+\tcheck_find_renames_50 () {\n+\t\tcheck_common\n+\t\trename_detected a &&\n+\t\trename_detected b &&\n+\t\trename_detected c &&\n+\t\trename_undetected d\n+\t} &&\n+\n+\tcheck_find_renames_75 () {\n+\t\tcheck_common\n+\t\trename_detected a &&\n+\t\trename_detected b &&\n+\t\trename_undetected c &&\n+\t\trename_undetected d\n+\t} &&\n+\n+\tcheck_find_renames_100 () {\n+\t\tcheck_common\n+\t\trename_detected a &&\n+\t\trename_undetected b &&\n+\t\trename_undetected c &&\n+\t\trename_undetected d\n+\t} &&\n+\n+\tcheck_no_renames () {\n+\t\tcheck_common\n+\t\trename_undetected a &&\n+\t\trename_undetected b &&\n+\t\trename_undetected c &&\n+\t\trename_undetected d\n+\t} &&\n+\n+\tcat <<-\\EOF > a-old &&\n+\taa1\n+\taa2\n+\taa3\n+\taa4\n+\tEOF\n+\tsed s/aa/bb/ < a-old > b-old &&\n+\tsed s/aa/cc/ < a-old > c-old &&\n+\tsed s/aa/dd/ < a-old > d-old &&\n+\tgit add [a-d]-old &&\n+\ttest_tick &&\n+\tgit commit -m base &&\n+\tgit rm [a-d]-old &&\n+\ttest_tick &&\n+\tgit commit -m delete &&\n+\tgit checkout -b rename HEAD^ &&\n+\tcp a-old a-new &&\n+\tsed 1,1s/./x/ < b-old > b-new &&\n+\tsed 1,2s/./x/ < c-old > c-new &&\n+\tsed 1,3s/./x/ < d-old > d-new &&\n+\tgit add [a-d]-new &&\n+\tgit rm [a-d]-old &&\n+\ttest_tick &&\n+\tgit commit -m rename &&\n+\tget_expected_stages a &&\n+\tget_expected_stages b &&\n+\tget_expected_stages c &&\n+\tget_expected_stages d\n+'\n+\n+test_expect_success 'the default similarity index is 50%' '\n+\tgit read-tree --reset -u HEAD &&\n+\ttest_must_fail git merge-recursive HEAD^ -- HEAD master &&\n+\tcheck_find_renames_50\n+'\n+\n+test_expect_success 'low rename threshold' '\n+\tgit read-tree --reset -u HEAD &&\n+\ttest_must_fail git merge-recursive --rename-threshold=25 HEAD^ -- HEAD master &&\n+\tcheck_find_renames_25\n+'\n+\n+test_expect_success 'high rename threshold' '\n+\tgit read-tree --reset -u HEAD &&\n+\ttest_must_fail git merge-recursive --rename-threshold=75 HEAD^ -- HEAD master &&\n+\tcheck_find_renames_75\n+'\n+\n+test_expect_success 'exact renames only' '\n+\tgit read-tree --reset -u HEAD &&\n+\ttest_must_fail git merge-recursive --rename-threshold=100% HEAD^ -- HEAD master &&\n+\tcheck_find_renames_100\n+'\n+\n+test_expect_success 'rename threshold is truncated' '\n+\tgit read-tree --reset -u HEAD &&\n+\ttest_must_fail git merge-recursive --rename-threshold=200% HEAD^ -- HEAD master &&\n+\tcheck_find_renames_100\n+'\n+\n+test_expect_success 'last wins in --rename-threshold=<m> --rename-threshold=<n>' '\n+\tgit read-tree --reset -u HEAD &&\n+\ttest_must_fail git merge-recursive --rename-threshold=25 --rename-threshold=75 HEAD^ -- HEAD master &&\n+\tcheck_find_renames_75\n+'\n+\n+test_done\n-- \n2.7.1.342.gf5bb636\n"},{"id":"278750","messageId":"1456022072-5342-3-git-send-email-felipegassis@gmail.com","threadId":"41454","inReplyTo":"1456022072-5342-1-git-send-email-felipegassis@gmail.com","subject":"[PATCH v5 2/3] merge-recursive: option to disable renames","fromName":"Felipe Gonçalves Assis","fromEmail":"felipeg.assis@gmail.com","sentAt":"2016-02-21T02:34:31Z","receivedAt":"2016-02-21T02:34:31Z","isPatch":true,"sender":{"key":"felipeg.assis@gmail.com","avatar":null},"body":"The recursive strategy turns on rename detection by default. Add a\nstrategy option to disable rename detection even for exact renames.\n\nSigned-off-by: Felipe Gonçalves Assis <felipegassis@gmail.com>\n---\n\nAdded tests.\n\nFor consistent naming, I renamed and slightly edited the test of whitespace\noptions:\nt/t3032-merge-recursive-options.sh -> t/t3032-merge-recursive-space-options.sh\n\n Documentation/merge-strategies.txt                   |  6 ++++++\n merge-recursive.c                                    |  7 +++++++\n merge-recursive.h                                    |  1 +\n ...ons.sh => t3032-merge-recursive-space-options.sh} |  2 +-\n ...ld.sh => t3034-merge-recursive-rename-options.sh} | 20 +++++++++++++++++++-\n 5 files changed, 34 insertions(+), 2 deletions(-)\n rename t/{t3032-merge-recursive-options.sh => t3032-merge-recursive-space-options.sh} (99%)\n rename t/{t3034-merge-recursive-rename-threshold.sh => t3034-merge-recursive-rename-options.sh} (83%)\n\ndiff --git a/Documentation/merge-strategies.txt b/Documentation/merge-strategies.txt\nindex 7bbd19b..1a5e197 100644\n--- a/Documentation/merge-strategies.txt\n+++ b/Documentation/merge-strategies.txt\n@@ -81,8 +81,14 @@ no-renormalize;;\n \tDisables the `renormalize` option.  This overrides the\n \t`merge.renormalize` configuration variable.\n \n+no-renames;;\n+\tTurn off rename detection.\n+\tSee also linkgit:git-diff[1] `--no-renames`.\n+\n rename-threshold=<n>;;\n \tControls the similarity threshold used for rename detection.\n+\tRe-enables rename detection if disabled by a preceding\n+\t`no-renames`.\n \tSee also linkgit:git-diff[1] `-M`.\n \n subtree[=<path>];;\ndiff --git a/merge-recursive.c b/merge-recursive.c\nindex 8eabde2..6dd0a11 100644\n--- a/merge-recursive.c\n+++ b/merge-recursive.c\n@@ -482,6 +482,9 @@ static struct string_list *get_renames(struct merge_options *o,\n \tstruct diff_options opts;\n \n \trenames = xcalloc(1, sizeof(struct string_list));\n+\tif (!o->detect_rename)\n+\t\treturn renames;\n+\n \tdiff_setup(&opts);\n \tDIFF_OPT_SET(&opts, RECURSIVE);\n \tDIFF_OPT_CLR(&opts, RENAME_EMPTY);\n@@ -2039,6 +2042,7 @@ void init_merge_options(struct merge_options *o)\n \to->diff_rename_limit = -1;\n \to->merge_rename_limit = -1;\n \to->renormalize = 0;\n+\to->detect_rename = 1;\n \tmerge_recursive_config(o);\n \tif (getenv(\"GIT_MERGE_VERBOSITY\"))\n \t\to->verbosity =\n@@ -2088,9 +2092,12 @@ int parse_merge_opt(struct merge_options *o, const char *s)\n \t\to->renormalize = 1;\n \telse if (!strcmp(s, \"no-renormalize\"))\n \t\to->renormalize = 0;\n+\telse if (!strcmp(s, \"no-renames\"))\n+\t\to->detect_rename = 0;\n \telse if (skip_prefix(s, \"rename-threshold=\", &arg)) {\n \t\tif ((o->rename_score = parse_rename_score(&arg)) == -1 || *arg != 0)\n \t\t\treturn -1;\n+\t\to->detect_rename = 1;\n \t}\n \telse\n \t\treturn -1;\ndiff --git a/merge-recursive.h b/merge-recursive.h\nindex 9e090a3..52f0201 100644\n--- a/merge-recursive.h\n+++ b/merge-recursive.h\n@@ -17,6 +17,7 @@ struct merge_options {\n \tunsigned renormalize : 1;\n \tlong xdl_opts;\n \tint verbosity;\n+\tint detect_rename;\n \tint diff_rename_limit;\n \tint merge_rename_limit;\n \tint rename_score;\ndiff --git a/t/t3032-merge-recursive-options.sh b/t/t3032-merge-recursive-space-options.sh\nsimilarity index 99%\nrename from t/t3032-merge-recursive-options.sh\nrename to t/t3032-merge-recursive-space-options.sh\nindex 4029c9c..b56180e 100755\n--- a/t/t3032-merge-recursive-options.sh\n+++ b/t/t3032-merge-recursive-space-options.sh\n@@ -1,6 +1,6 @@\n #!/bin/sh\n \n-test_description='merge-recursive options\n+test_description='merge-recursive space options\n \n * [master] Clarify\n  ! [remote] Remove cruft\ndiff --git a/t/t3034-merge-recursive-rename-threshold.sh b/t/t3034-merge-recursive-rename-options.sh\nsimilarity index 83%\nrename from t/t3034-merge-recursive-rename-threshold.sh\nrename to t/t3034-merge-recursive-rename-options.sh\nindex f0b3f44..2f10fa7 100755\n--- a/t/t3034-merge-recursive-rename-threshold.sh\n+++ b/t/t3034-merge-recursive-rename-options.sh\n@@ -1,6 +1,6 @@\n #!/bin/sh\n \n-test_description='merge-recursive rename threshold option\n+test_description='merge-recursive rename options\n \n Test rename detection by examining rename/delete conflicts.\n \n@@ -137,10 +137,28 @@ test_expect_success 'rename threshold is truncated' '\n \tcheck_find_renames_100\n '\n \n+test_expect_success 'disabled rename detection' '\n+\tgit read-tree --reset -u HEAD &&\n+\tgit merge-recursive --no-renames HEAD^ -- HEAD master &&\n+\tcheck_no_renames\n+'\n+\n test_expect_success 'last wins in --rename-threshold=<m> --rename-threshold=<n>' '\n \tgit read-tree --reset -u HEAD &&\n \ttest_must_fail git merge-recursive --rename-threshold=25 --rename-threshold=75 HEAD^ -- HEAD master &&\n \tcheck_find_renames_75\n '\n \n+test_expect_success 'last wins in --no-renames --rename-threshold=<n>' '\n+\tgit read-tree --reset -u HEAD &&\n+\ttest_must_fail git merge-recursive --no-renames --rename-threshold=25 HEAD^ -- HEAD master &&\n+\tcheck_find_renames_25\n+'\n+\n+test_expect_success 'last wins in --rename-threshold=<n> --no-renames' '\n+\tgit read-tree --reset -u HEAD &&\n+\tgit merge-recursive --rename-threshold=25 --no-renames HEAD^ -- HEAD master &&\n+\tcheck_no_renames\n+'\n+\n test_done\n-- \n2.7.1.342.gf5bb636\n"},{"id":"278749","messageId":"1456022072-5342-4-git-send-email-felipegassis@gmail.com","threadId":"41454","inReplyTo":"1456022072-5342-1-git-send-email-felipegassis@gmail.com","subject":"[PATCH v5 3/3] merge-recursive: more consistent interface","fromName":"Felipe Gonçalves Assis","fromEmail":"felipeg.assis@gmail.com","sentAt":"2016-02-21T02:34:32Z","receivedAt":"2016-02-21T02:34:32Z","isPatch":true,"sender":{"key":"felipeg.assis@gmail.com","avatar":null},"body":"Add strategy option find-renames, following git-diff interface. This\nmakes the option rename-threshold redundant.\n\nSigned-off-by: Felipe Gonçalves Assis <felipegassis@gmail.com>\n---\n\nAdded tests and made --find-renames reset the similarity index to the default.\n\n Documentation/merge-strategies.txt        | 10 ++++---\n merge-recursive.c                         |  7 ++++-\n t/t3034-merge-recursive-rename-options.sh | 48 +++++++++++++++++++++++++++----\n 3 files changed, 54 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/merge-strategies.txt b/Documentation/merge-strategies.txt\nindex 1a5e197..2eb92b9 100644\n--- a/Documentation/merge-strategies.txt\n+++ b/Documentation/merge-strategies.txt\n@@ -85,11 +85,13 @@ no-renames;;\n \tTurn off rename detection.\n \tSee also linkgit:git-diff[1] `--no-renames`.\n \n+find-renames[=<n>];;\n+\tTurn on rename detection, optionally setting the similarity\n+\tthreshold.  This is the default.\n+\tSee also linkgit:git-diff[1] `--find-renames`.\n+\n rename-threshold=<n>;;\n-\tControls the similarity threshold used for rename detection.\n-\tRe-enables rename detection if disabled by a preceding\n-\t`no-renames`.\n-\tSee also linkgit:git-diff[1] `-M`.\n+\tDeprecated synonym for `find-renames=<n>`.\n \n subtree[=<path>];;\n \tThis option is a more advanced form of 'subtree' strategy, where\ndiff --git a/merge-recursive.c b/merge-recursive.c\nindex 6dd0a11..63b8ba8 100644\n--- a/merge-recursive.c\n+++ b/merge-recursive.c\n@@ -2094,7 +2094,12 @@ int parse_merge_opt(struct merge_options *o, const char *s)\n \t\to->renormalize = 0;\n \telse if (!strcmp(s, \"no-renames\"))\n \t\to->detect_rename = 0;\n-\telse if (skip_prefix(s, \"rename-threshold=\", &arg)) {\n+\telse if (!strcmp(s, \"find-renames\")) {\n+\t\to->detect_rename = 1;\n+\t\to->rename_score = 0;\n+\t}\n+\telse if (skip_prefix(s, \"find-renames=\", &arg) ||\n+\t         skip_prefix(s, \"rename-threshold=\", &arg)) {\n \t\tif ((o->rename_score = parse_rename_score(&arg)) == -1 || *arg != 0)\n \t\t\treturn -1;\n \t\to->detect_rename = 1;\ndiff --git a/t/t3034-merge-recursive-rename-options.sh b/t/t3034-merge-recursive-rename-options.sh\nindex 2f10fa7..4e3fefd 100755\n--- a/t/t3034-merge-recursive-rename-options.sh\n+++ b/t/t3034-merge-recursive-rename-options.sh\n@@ -115,25 +115,25 @@ test_expect_success 'the default similarity index is 50%' '\n \n test_expect_success 'low rename threshold' '\n \tgit read-tree --reset -u HEAD &&\n-\ttest_must_fail git merge-recursive --rename-threshold=25 HEAD^ -- HEAD master &&\n+\ttest_must_fail git merge-recursive --find-renames=25 HEAD^ -- HEAD master &&\n \tcheck_find_renames_25\n '\n \n test_expect_success 'high rename threshold' '\n \tgit read-tree --reset -u HEAD &&\n-\ttest_must_fail git merge-recursive --rename-threshold=75 HEAD^ -- HEAD master &&\n+\ttest_must_fail git merge-recursive --find-renames=75 HEAD^ -- HEAD master &&\n \tcheck_find_renames_75\n '\n \n test_expect_success 'exact renames only' '\n \tgit read-tree --reset -u HEAD &&\n-\ttest_must_fail git merge-recursive --rename-threshold=100% HEAD^ -- HEAD master &&\n+\ttest_must_fail git merge-recursive --find-renames=100% HEAD^ -- HEAD master &&\n \tcheck_find_renames_100\n '\n \n test_expect_success 'rename threshold is truncated' '\n \tgit read-tree --reset -u HEAD &&\n-\ttest_must_fail git merge-recursive --rename-threshold=200% HEAD^ -- HEAD master &&\n+\ttest_must_fail git merge-recursive --find-renames=200% HEAD^ -- HEAD master &&\n \tcheck_find_renames_100\n '\n \n@@ -143,12 +143,36 @@ test_expect_success 'disabled rename detection' '\n \tcheck_no_renames\n '\n \n-test_expect_success 'last wins in --rename-threshold=<m> --rename-threshold=<n>' '\n+test_expect_success 'last wins in --find-renames=<m> --find-renames=<n>' '\n \tgit read-tree --reset -u HEAD &&\n-\ttest_must_fail git merge-recursive --rename-threshold=25 --rename-threshold=75 HEAD^ -- HEAD master &&\n+\ttest_must_fail git merge-recursive --find-renames=25 --find-renames=75 HEAD^ -- HEAD master &&\n \tcheck_find_renames_75\n '\n \n+test_expect_success '--find-renames is equivalent to --find-renames=5' '\n+\tgit read-tree --reset -u HEAD &&\n+\ttest_must_fail git merge-recursive --find-renames=25 --find-renames HEAD^ -- HEAD master &&\n+\tcheck_find_renames_50\n+'\n+\n+test_expect_success 'last wins in --no-renames --find-renames' '\n+\tgit read-tree --reset -u HEAD &&\n+\ttest_must_fail git merge-recursive --no-renames --find-renames HEAD^ -- HEAD master &&\n+\tcheck_find_renames_50\n+'\n+\n+test_expect_success 'last wins in --find-renames --no-renames' '\n+\tgit read-tree --reset -u HEAD &&\n+\tgit merge-recursive --find-renames --no-renames HEAD^ -- HEAD master &&\n+\tcheck_no_renames\n+'\n+\n+test_expect_success 'rename-threshold=<n> is a synonym for find-renames=<n>' '\n+\tgit read-tree --reset -u HEAD &&\n+\ttest_must_fail git merge-recursive --rename-threshold=25 HEAD^ -- HEAD master &&\n+\tcheck_find_renames_25\n+'\n+\n test_expect_success 'last wins in --no-renames --rename-threshold=<n>' '\n \tgit read-tree --reset -u HEAD &&\n \ttest_must_fail git merge-recursive --no-renames --rename-threshold=25 HEAD^ -- HEAD master &&\n@@ -161,4 +185,16 @@ test_expect_success 'last wins in --rename-threshold=<n> --no-renames' '\n \tcheck_no_renames\n '\n \n+test_expect_success 'last wins in --rename-threshold=<n> --find-renames' '\n+\tgit read-tree --reset -u HEAD &&\n+\ttest_must_fail git merge-recursive --rename-threshold=25 --find-renames HEAD^ -- HEAD master &&\n+\tcheck_find_renames_50\n+'\n+\n+test_expect_success 'last wins in --find-renames --rename-threshold=<n>' '\n+\tgit read-tree --reset -u HEAD &&\n+\ttest_must_fail git merge-recursive --find-renames --rename-threshold=25 HEAD^ -- HEAD master &&\n+\tcheck_find_renames_25\n+'\n+\n test_done\n-- \n2.7.1.342.gf5bb636\n"},{"id":"278760","messageId":"xmqq7fhya4v5.fsf@gitster.mtv.corp.google.com","threadId":"41454","inReplyTo":"1456022072-5342-1-git-send-email-felipegassis@gmail.com","subject":"Re: [PATCH v5 0/3] merge-recursive: option to disable renames","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-02-21T07:40:14Z","receivedAt":"2016-02-21T07:40:14Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Yikes, your previous round is already in 'next', so could you make\nthis series an incremental on top of what is already queued up to\n1b47ad16 (merge-recursive: more consistent interface, 2016-02-17)?\n\nThanks.\n"},{"id":"278761","messageId":"CALMa68rEM3a-h2my7QqntfFq8sxGA4Rp8LN07ujQHCu_-O58Jg@mail.gmail.com","threadId":"41454","inReplyTo":"xmqq7fhya4v5.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v5 0/3] merge-recursive: option to disable renames","fromName":"Felipe Gonçalves Assis","fromEmail":"felipeg.assis@gmail.com","sentAt":"2016-02-21T15:07:18Z","receivedAt":"2016-02-21T15:07:18Z","isPatch":true,"sender":{"key":"felipeg.assis@gmail.com","avatar":null},"body":"On 21 February 2016 at 04:40, Junio C Hamano <gitster@pobox.com> wrote:\n> Yikes, your previous round is already in 'next', so could you make\n> this series an incremental on top of what is already queued up to\n> 1b47ad16 (merge-recursive: more consistent interface, 2016-02-17)?\n>\n> Thanks.\n>\n\nOh, sorry. I did not notice that. I will submit a new series shortly.\n"}]}