submodule: Search for merges only at end of recursive merge
authorBrad King <brad.king@kitware.com>
Thu, 13 Oct 2011 12:59:05 +0000 (08:59 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 13 Oct 2011 17:18:16 +0000 (10:18 -0700)
commit80988783c8c417c5e914256b43ed3604cc8fa4c3
treee59001bc21004d07a0a9904d2703cf916b98f0af
parent72251b7de6daf2cd7916e3aad46df0047e5a5d2b
submodule: Search for merges only at end of recursive merge

The submodule merge search is not useful during virtual merges because
the results cannot be used automatically.  Furthermore any suggestions
made by the search may apply to commits different than HEAD:sub and
MERGE_HEAD:sub, thus confusing the user.  Skip searching for submodule
merges during a virtual merge such as that between B and C while merging
the heads of:

    B---BC
   / \ /
  A   X
   \ / \
    C---CB

Run the search only when the recursion level is zero (!o->call_depth).
This fixes known breakage tested in t7405-submodule-merge.

Signed-off-by: Brad King <brad.king@kitware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
merge-recursive.c
submodule.c
submodule.h
t/t7405-submodule-merge.sh