From: Junio C Hamano Date: Sun, 10 May 2009 04:22:10 GMT Subject: Re: [PATCH] fix for incorrect index update Message-ID: <7vskjd4mfh.fsf@alter.siamese.dyndns.org> In-Reply-To: Dave O writes: > call_depth > 0 requires trees to be constructed from the files with > conflicts, therefore the stages thusly must not be updated > > Signed-off-by: Dave Olszewski > --- Thanks. I'd add: From: Dave Olszewski at the beginning, so you would not be shown as "Dave O" in "git shortlog" and friends. > merge-recursive.c | 11 +++-- > t/t3031-merge-criscross.sh | 95 ++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 101 insertions(+), 5 deletions(-) > create mode 100644 t/t3031-merge-criscross.sh > diff --git a/t/t3031-merge-criscross.sh b/t/t3031-merge-criscross.sh > new file mode 100644 That should have been 100755 (I'll fix-up myself; no need to resend). > index 0000000..cbfd95b > --- /dev/null > +++ b/t/t3031-merge-criscross.sh > @@ -0,0 +1,95 @@ > +#!/bin/sh > + > +test_description='merge-recursive backend test' > + > +. ./test-lib.sh > + > +# A <- create some files > +# / \ > +# B C <- cause rename/delete conflicts between B and C > +# / \ > +# |\ /| > +# | D E | > +# | \ / | > +# | X | > +# | / \ | > +# | / \ | > +# |/ \| > +# F G <- merge E into B, D into C > +# \ / > +# \ / > +# \ / > +# H <- recursive merge crashes > +# Much nicer than Dscho's ;-) > +# initialize > +test_expect_success 'setup repo with criss-cross history' ' > + mkdir data && > + > + test_debug create a bunch of files && You inherited a bug from Dscho's patch, it seems. Have you tried running the test with debug option? This could have been test_debug "echo create a bunch of files" && but I'd say we just make them into comments.