summaryrefslogtreecommitdiff
path: root/merge-recursive.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-05-23 01:39:50 -0700
committerJunio C Hamano <gitster@pobox.com>2009-05-23 01:39:50 -0700
commitd32643c0ff6d74b967b65e867f1f99dba840836e (patch)
tree1c667614f8a1ec71fa79150d3cac03197fb4ae60 /merge-recursive.c
parente05aae684d453695bc5bd1e66aa96bc7d42e186a (diff)
parentbf74106a5b4577fd695d15a28ad51537ae7470d8 (diff)
downloadgit-d32643c0ff6d74b967b65e867f1f99dba840836e.tar.gz
Merge branch 'do/maint-merge-recursive-fix'
* do/maint-merge-recursive-fix: merge-recursive: never leave index unmerged while recursing
Diffstat (limited to 'merge-recursive.c')
-rw-r--r--merge-recursive.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/merge-recursive.c b/merge-recursive.c
index a3721efcaf..f5df9b961b 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -933,11 +933,12 @@ static int process_renames(struct merge_options *o,
ren1_src, ren1_dst, branch1,
branch2);
update_file(o, 0, ren1->pair->two->sha1, ren1->pair->two->mode, ren1_dst);
- update_stages(ren1_dst, NULL,
- branch1 == o->branch1 ?
- ren1->pair->two : NULL,
- branch1 == o->branch1 ?
- NULL : ren1->pair->two, 1);
+ if (!o->call_depth)
+ update_stages(ren1_dst, NULL,
+ branch1 == o->branch1 ?
+ ren1->pair->two : NULL,
+ branch1 == o->branch1 ?
+ NULL : ren1->pair->two, 1);
} else if (!sha_eq(dst_other.sha1, null_sha1)) {
const char *new_path;
clean_merge = 0;