submodule: Demonstrate known breakage during recursive merge
authorBrad King <brad.king@kitware.com>
Thu, 13 Oct 2011 12:59:04 +0000 (08:59 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 13 Oct 2011 17:16:59 +0000 (10:16 -0700)
commit72251b7de6daf2cd7916e3aad46df0047e5a5d2b
tree76ab58c1b7c1efec10656c6e45dbaa70192b35f6
parent34c4461ae3b353e8c931565d5527b98ed12e3735
submodule: Demonstrate known breakage during recursive merge

Since commit 68d03e4a (Implement automatic fast-forward merge for
submodules, 2010-07-07) we try to suggest submodule commits that resolve
a conflict.  Consider a true recursive merge case

    b---bc
   / \ /
  o   X
   \ / \
    c---cb

in which the two heads themselves (bc,cb) had resolved a submodule
conflict (i.e. reference different commits than their parents).  The
submodule merge search runs during the temporary merge of the two merge
bases (b,c) and prints out a suggestion that is not meaningful to the
user.  Then during the main merge the submodule merge search runs again
but dies with the message

  fatal: --ancestry-path given but there are no bottom commits

while trying to enumerate candidates.  Demonstrate this known breakage
with a new test in t7405-submodule-merge covering the case.

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