Return-Path: X-Original-To: apmail-subversion-commits-archive@minotaur.apache.org Delivered-To: apmail-subversion-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E9FDC9FB7 for ; Thu, 2 Feb 2012 17:34:39 +0000 (UTC) Received: (qmail 9951 invoked by uid 500); 2 Feb 2012 17:34:39 -0000 Delivered-To: apmail-subversion-commits-archive@subversion.apache.org Received: (qmail 9866 invoked by uid 500); 2 Feb 2012 17:34:39 -0000 Mailing-List: contact commits-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@subversion.apache.org Delivered-To: mailing list commits@subversion.apache.org Received: (qmail 9858 invoked by uid 99); 2 Feb 2012 17:34:38 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Feb 2012 17:34:38 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.131] (HELO eos.apache.org) (140.211.11.131) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Feb 2012 17:34:36 +0000 Received: from eos.apache.org (localhost [127.0.0.1]) by eos.apache.org (Postfix) with ESMTP id 80A3C808 for ; Thu, 2 Feb 2012 17:34:15 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Apache subversion Wiki To: Apache subversion Wiki Date: Thu, 02 Feb 2012 17:34:15 -0000 Message-ID: <20120202173415.74678.26125@eos.apache.org> Subject: =?utf-8?q?=5BSubversion_Wiki=5D_Update_of_=22SvnMergeTheory=22_by_JulianF?= =?utf-8?q?oad?= Auto-Submitted: auto-generated X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Subversion Wiki" fo= r change notification. The "SvnMergeTheory" page has been changed by JulianFoad: http://wiki.apache.org/subversion/SvnMergeTheory?action=3Ddiff&rev1=3D12&re= v2=3D13 = {{attachment:merge-reint-1.png|svn reintegrate merge}} = - The main significant difference is that Subversion selects a base node th= at is on the ''target'' branch rather than on the ''source'' branch. + The main significant differences are: = - But what's the mergeinfo? [TODO...] + * For the 3-way merge, Subversion selects a base node that is on the ''t= arget'' branch rather than on the ''source'' branch. + * For the mergeinfo, Subversion records all the changes along the source= branch (B), starting from 'O'. That does not accurately descibe either th= e set of logical changes (because B3 was not a logical change) or the set o= f physical changes (because B1 and B2 were not physically merged; A2:B3 was= merged instead, which is logically equivalent). = =3D=3D 3-way or 4-way Merge =3D=3D Subversion currently performs any requested merge as a sequence of 3-way = merges. For simple ''sync'' and ''reintegrate'' merges, that's exactly wha= t's needed. Usually there is just one 3-way merge, but if cherry-picks are= being skipped then Subversion breaks down the merge source range into sub-= ranges and performs one 3-way merge per sub-range.