summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2018-09-04 14:31:38 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-09-04 14:31:38 -0700
commitca676b9bd354e846ac207e7879760719826517ce (patch)
treede33f48393a62396f73111655a41ae77f6be63c9 /builtin
parentMerge branch 'pw/rebase-i-author-script-fix' (diff)
parentam: avoid directory rename detection when calling recursive merge machinery (diff)
downloadtgif-ca676b9bd354e846ac207e7879760719826517ce.tar.xz
Merge branch 'en/directory-renames-nothanks'
Recent addition of "directory rename" heuristics to the merge-recursive backend makes the command susceptible to false positives and false negatives. In the context of "git am -3", which does not know about surrounding unmodified paths and thus cannot inform the merge machinery about the full trees involved, this risk is particularly severe. As such, the heuristic is disabled for "git am -3" to keep the machinery "more stupid but predictable". * en/directory-renames-nothanks: am: avoid directory rename detection when calling recursive merge machinery merge-recursive: add ability to turn off directory rename detection t3401: add another directory rename testcase for rebase and am
Diffstat (limited to 'builtin')
-rw-r--r--builtin/am.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin/am.c b/builtin/am.c
index 9f7ecf6ecb..5e866d17c7 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -1598,6 +1598,7 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa
o.branch1 = "HEAD";
their_tree_name = xstrfmt("%.*s", linelen(state->msg), state->msg);
o.branch2 = their_tree_name;
+ o.detect_directory_renames = 0;
if (state->quiet)
o.verbosity = 0;