From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Couder Subject: Re: Could this be done simpler? Date: Fri, 26 Jun 2009 00:02:40 +0200 Message-ID: <200906260002.40531.chriscool@tuxfamily.org> References: <7veit9m8cs.fsf@alter.siamese.dyndns.org> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Cc: Linus Torvalds , Git Mailing List To: Junio C Hamano X-From: git-owner@vger.kernel.org Fri Jun 26 00:02:37 2009 Return-path: Envelope-to: gcvg-git-2@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by lo.gmane.org with esmtp (Exim 4.50) id 1MJx1g-00055j-Vq for gcvg-git-2@gmane.org; Fri, 26 Jun 2009 00:02:37 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753170AbZFYWC0 (ORCPT ); Thu, 25 Jun 2009 18:02:26 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751924AbZFYWCZ (ORCPT ); Thu, 25 Jun 2009 18:02:25 -0400 Received: from smtp3-g21.free.fr ([212.27.42.3]:48755 "EHLO smtp3-g21.free.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751893AbZFYWCZ (ORCPT ); Thu, 25 Jun 2009 18:02:25 -0400 Received: from smtp3-g21.free.fr (localhost [127.0.0.1]) by smtp3-g21.free.fr (Postfix) with ESMTP id 6AB55818083; Fri, 26 Jun 2009 00:02:19 +0200 (CEST) Received: from bureau.boubyland (gre92-7-82-243-130-161.fbx.proxad.net [82.243.130.161]) by smtp3-g21.free.fr (Postfix) with ESMTP id 56E8E81807C; Fri, 26 Jun 2009 00:02:17 +0200 (CEST) User-Agent: KMail/1.9.9 In-Reply-To: <7veit9m8cs.fsf@alter.siamese.dyndns.org> Content-Disposition: inline Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: On Thursday 25 June 2009, Junio C Hamano wrote: > Side note. > > People sometimes say, and I am certain I agreed to them on more than one > occasions, that Octopus hurt bisectability and does not have much value > in real life. I've always thought this bisectability issue was a > downside of Octopus merges, but now I think about it, perhaps "git > bisect" can be taught to dynamically decompose an Octopus merges into a > sequence of two-head virtual merges while bisecting. We strongly > discourage and do not allow conflicting Octopus merges, so when you need > to bisect a history with an Octopus that looks like this: > > ---o---A > \ > ---o---B---M---o > / > ---o---C > > it should be able to mechanically decompose it, without conflicts, into > > > ---o---A > \ > ---o---B---M1--M2--o > / > ---o---C > > where the tree of M and the tree of M2 are identical. If someone creates a "git decompose-octopus " command then you only need to do "git replace M M2" after that and you can bisect as usual. (Of course after that you can remove the replacement with "git replace -d M".) Best regards, Christian.