Return-Path: X-Original-To: apmail-subversion-users-archive@minotaur.apache.org Delivered-To: apmail-subversion-users-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 019E3DF55 for ; Tue, 16 Oct 2012 16:35:53 +0000 (UTC) Received: (qmail 283 invoked by uid 500); 16 Oct 2012 16:35:52 -0000 Delivered-To: apmail-subversion-users-archive@subversion.apache.org Received: (qmail 267 invoked by uid 500); 16 Oct 2012 16:35:52 -0000 Mailing-List: contact users-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list users@subversion.apache.org Received: (qmail 260 invoked by uid 99); 16 Oct 2012 16:35:52 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Oct 2012 16:35:52 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [192.109.42.8] (HELO einhorn.in-berlin.de) (192.109.42.8) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Oct 2012 16:35:43 +0000 X-Envelope-From: stsp@stsp.name Received: from ted.stsp.name (ted.stsp.name [217.197.84.34]) by einhorn.in-berlin.de (8.13.6/8.13.6/Debian-1) with ESMTP id q9GGZL5s009316 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 16 Oct 2012 18:35:21 +0200 Received: from ted.stsp.name (stsp@localhost [127.0.0.1]) by ted.stsp.name (8.14.5/8.14.3) with ESMTP id q9GGZLtl014539; Tue, 16 Oct 2012 18:35:21 +0200 (CEST) Received: (from stsp@localhost) by ted.stsp.name (8.14.5/8.14.3/Submit) id q9GGZLhk013787; Tue, 16 Oct 2012 18:35:21 +0200 (CEST) Date: Tue, 16 Oct 2012 18:35:21 +0200 From: Stefan Sperling To: Sven Uhlig , users@subversion.apache.org Subject: Re: unexpected tree conflict on merge for same source file Message-ID: <20121016163521.GJ6403@ted.stsp.name> Mail-Followup-To: Sven Uhlig , users@subversion.apache.org References: <507D4254.30808@web.de> <20121016160255.GI6403@ted.stsp.name> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20121016160255.GI6403@ted.stsp.name> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang_at_IN-Berlin_e.V. on 192.109.42.8 X-Virus-Checked: Checked by ClamAV on apache.org On Tue, Oct 16, 2012 at 06:02:55PM +0200, Stefan Sperling wrote: > If you really must merge between unrelated branches, use the 2-URL > merge syntax instead of the 'svn merge ^/foo' short-hand syntax and > specify revisions for each of the 2 URL arguments to merge meaningful > changesets. For instance, say you created '^/branches/A' from trunk in > r399, and then made some interesting changes between r410 and r450 on > branch A. You want to merge those changes into a completely unrelated > branch called 'testing'. Try something like this: > > svn switch ^/branches/testing > svn merge ^/branches/A@410 ^/branches/prj@450 . Sorry the above should have said: svn merge ^/branches/testing@410 ^/branches/A@450 . This assumes that the delta between testing@410 and A@450 contains only changes that are unique to branch A, which will be the case unless you merged changes from other branches into A between r410 and 450. You can check the delta with the following command: svn diff ^/branches/testing@410 ^/branches/A@450 If the delta contains changes you don't want to merge, you can either run the merge anyway and resolve conflicts (if any), or try this instead: svn merge ^/branches/A@410 ^/branches/A@450 . If the above gives you tree-conflicts either resolve them as appropriate or try again with --ignore-ancestry: svn merge --ignore-ancestry ^/branches/A@410 ^/branches/A@450 . If you throw away the 'testing' branch after testing anyway, the lack of mergeinfo recorded during the --ignore-ancestry merge might not be a problem. Again, sticking to simple branching/merging patterns where all merges happen between directly related branches makes things a lot easier.