From: Jeff King Date: Thu, 20 Mar 2008 02:06:21 GMT Subject: Re: Two bugs with renaming Message-ID: <20080320020621.GA24678@coredump.intra.peff.net> In-Reply-To: <7vwsnyz07y.fsf@gitster.siamese.dyndns.org> On Wed, Mar 19, 2008 at 05:51:45PM -0700, Junio C Hamano wrote: > > # Set up bug #2 > > This hasn't been addressed, I think. Hmm. It looks like threeway_merge is getting bogus input. In a regular merge (e.g., branch changes file "file", master adds new file "other", branch merges master), threeway merge sees: - call 1: index=file, head=file, remote=file - call 2: index=NULL, head=NULL, remote=other But if the change to file is a D/F conflict (as in the scenario John described), we get: - call 1: index=files, head=files, remote="" - call 2: index=files.upstream/delete.me, head=NULL, remote=NULL and it barfs because index != head in the second call. But the "" entry in the first call makes me wonder if this is the same "lists getting out of sync" problem as before. This is as far as I got. I don't have any more time to look at it tonight, unfortunately. -Peff