aboutsummaryrefslogtreecommitdiff
path: root/builtin-checkout.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-01-06 12:32:02 -0800
committerJunio C Hamano <gitster@pobox.com>2010-01-06 13:49:41 -0800
commit6d6f9acc5db0dfae94ef22c9ecbcf7df00f84399 (patch)
tree9ab2abbacbbde004913e683c0d1d4644684c4b21 /builtin-checkout.c
parent3273ebc759ee44fa22026d2882d56010742c6797 (diff)
downloadgit-6d6f9acc5db0dfae94ef22c9ecbcf7df00f84399.tar.gz
git-6d6f9acc5db0dfae94ef22c9ecbcf7df00f84399.tar.xz
checkout -m path: fix recreating conflicts
We should tell ll_merge() that the 3-way merge between stages #2 and #3 is an outermost merge, not a virtual-ancestor creation. Back when this code was originally written, users couldn't write custom merge drivers easily, so the bug didn't matter, but these days it does. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-checkout.c')
-rw-r--r--builtin-checkout.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin-checkout.c b/builtin-checkout.c
index 7f3bd7bb1..e41e73b27 100644
--- a/builtin-checkout.c
+++ b/builtin-checkout.c
@@ -179,7 +179,7 @@ static int checkout_merged(int pos, struct checkout *state)
fill_mm(active_cache[pos+2]->sha1, &theirs);
status = ll_merge(&result_buf, path, &ancestor,
- &ours, "ours", &theirs, "theirs", 1);
+ &ours, "ours", &theirs, "theirs", 0);
free(ancestor.ptr);
free(ours.ptr);
free(theirs.ptr);