From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Bash Subject: Re: "Temporary merge branch 2" Conflicts Date: Fri, 17 Aug 2012 16:56:30 -0400 (EDT) Message-ID: <732986549.167685.1345236990359.JavaMail.root@genarts.com> References: <1972858401.161319.1345211324976.JavaMail.root@genarts.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: newren@gmail.com To: Git Mailing List X-From: git-owner@vger.kernel.org Fri Aug 17 22:56:45 2012 Return-path: Envelope-to: gcvg-git-2@plane.gmane.org Received: from vger.kernel.org ([209.132.180.67]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1T2Tb2-0001mi-0j for gcvg-git-2@plane.gmane.org; Fri, 17 Aug 2012 22:56:44 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753584Ab2HQU4j (ORCPT ); Fri, 17 Aug 2012 16:56:39 -0400 Received: from hq.genarts.com ([173.9.65.1]:23618 "HELO mail.hq.genarts.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1753218Ab2HQU4h (ORCPT ); Fri, 17 Aug 2012 16:56:37 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.hq.genarts.com (Postfix) with ESMTP id 129C4BE10B6; Fri, 17 Aug 2012 16:56:36 -0400 (EDT) X-Virus-Scanned: amavisd-new at mail.hq.genarts.com Received: from mail.hq.genarts.com ([127.0.0.1]) by localhost (mail.hq.genarts.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i1SPdLv629jh; Fri, 17 Aug 2012 16:56:30 -0400 (EDT) Received: from mail.hq.genarts.com (localhost [127.0.0.1]) by mail.hq.genarts.com (Postfix) with ESMTP id 785AEBE1157; Fri, 17 Aug 2012 16:56:30 -0400 (EDT) In-Reply-To: <1972858401.161319.1345211324976.JavaMail.root@genarts.com> X-Mailer: Zimbra 7.2.0_GA_2669 (ZimbraWebClient - GC21 (Mac)/7.2.0_GA_2669) Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: ----- Original Message ----- > From: "Stephen Bash" > Sent: Friday, August 17, 2012 9:48:45 AM > Subject: "Temporary merge branch 2" Conflicts > > Given this branch history: > > ---------M------M---M-------> dev > \ / / / > -------------- v1-maint > \ \ \ > ----M---M-------> v1.5-maint > > I am attempting to merge v1.5-maint into dev. Turns out (not surprisingly) the graph is not that simple. I have multiple (disjoint) merge bases: $ git merge-base --all dev v1.5-maint ad9ed6c207fba9419b10a394e3721333d0d73e81 5ff4cb0927188fb7246a0eff22d7ffed1a91fe2d $ git rev-list --ancestry-path 5ff4cb0..ad9ed6c $ A little investigation of 5ff4cb0 shows the branch structure looks more like: A-----C---------> v1-maint / |\ ----o | \ \ | \ B | \ |\ | \ ------|-M---|-----M---> v1.5-maint | | ------M-----M---------> dev B is 5ff4cb0 and C is ad9ed6c (with several months and commits separating them). A and B are tree-same (the only difference is the commit time and the log message). Again, I'm attempting to merge v1.5-maint into dev. > Googling around I found a few mentions of these temporary merge > branches, e.g. $gmane/157591, but I don't think we have any > criss-cross merges. And now I'm convinced I do have some form of degenerate merge case. I made several attempts to dig myself out of this hole, but failed. What is the recommended method for resolving this sort of merge? kdiff3 obviously doesn't understand the situation. Do the working tree files contain all the conflicts? If so, I can just go through by hand and resolve the conflicts the old fashion way. Separately, is mergetool passing the correct base file to the external tool if I'm seeing "Temporary merge branch" conflicts in it? (I'm using git 1.7.11.4) Thanks! Stephen