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 C0FA9D95D for ; Tue, 16 Oct 2012 13:49:43 +0000 (UTC) Received: (qmail 87110 invoked by uid 500); 16 Oct 2012 13:49:43 -0000 Delivered-To: apmail-subversion-users-archive@subversion.apache.org Received: (qmail 87097 invoked by uid 500); 16 Oct 2012 13:49:42 -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 Delivered-To: moderator for users@subversion.apache.org Received: (qmail 39381 invoked by uid 99); 16 Oct 2012 11:18:11 -0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Message-ID: <507D4254.30808@web.de> Date: Tue, 16 Oct 2012 13:17:40 +0200 From: Sven Uhlig User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 MIME-Version: 1.0 To: users@subversion.apache.org Subject: unexpected tree conflict on merge for same source file Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:EXxujh9E5HEdOaC8s1bGbirLHbY/k9NlHqZ9PHVJLmz pLENWn3QuHKQwY/945pplgMYRCZihCcrm5bJWN93QgE2+GVed7 L1esc+5cDoIIpzMI4WKcjbBI1Pp24d4IyJQonC/goAIE9aZPJk 8FaqoA2Yf7pinYKUwKPh+iF55OPuhrZmm3ZQ6U75fJO+sv728G pyvChnRcbEmb+z/LqBtlg== X-Virus-Checked: Checked by ClamAV on apache.org Hello, imagine the following repository structure: /branches/prj1/first.txt /branches/prj1/second.txt /branches/prj2/first.txt /branches/testing/first.txt /branches/testing/second.txt /trunk/first.txt All first.txt in /branches/* are from the same /trunk/first.txt The file was only changed in /trunk and synced in /branches/prj1/ prj1 was merged into testing Why is there a tree conflict when I try to merge prj2 into testing? It is the same file. Below is a .bat file for creating the repo with some more conflicts that we do not understand. I would be happy if someone could explain these as well. What I try to achieve with the additional testing branch is to have some kind of staging before going live. The idea is to do this for new features: 1. Create branch from the latest live system /(trunk) 2. Work on branch 3. Merge branch into testing system (/branches/testing) 4a If everything is ok merge into /trunk and delete branch 4b If something is wrong return to 2. Best regards Sven. @REM testsvn.bat cls svn --version @REM svn, Version 1.7.2 (r1207936) @pause svnadmin --version @REM svnadmin, Version 1.7.2 (r1207936) @pause D: cd \ mkdir test cd test svnadmin create repo svn checkout file:///D:/test/repo wc cd wc mkdir branches mkdir tags mkdir trunk svn add branches tags trunk svn commit -m "basic repo structure" svn switch --ignore-ancestry file:///D:/test/repo/trunk svn info @REM Working Copy Root Path: D:\test\wc @REM URL: file:///D:/test/repo/trunk @pause echo .>first.txt svn add first.txt svn commit -m "1st" svn copy -m "prj0" . "^/branches/prj0" svn copy -r HEAD -m "prj1" "^/trunk" "^/branches/prj1" svn switch "^/branches/prj1" echo .>second.txt svn add second.txt svn commit -m "2nd" svn switch "^/trunk" svn copy -r HEAD -m "testing" "^/trunk" "^/branches/testing" echo "change" > first.txt svn commit -m "change" svn copy -r HEAD -m "prj2" "^/trunk" "^/branches/prj2" echo "change2" > first.txt svn commit -m "change2" svn copy -m "prj3" . "^/branches/prj3" svn switch "^/branches/prj2" svn merge "^/branches/prj1" svn commit -m "prj1 into prj2" svn switch "^/branches/prj3" svn merge "^/branches/prj0" @REM C first.txt @REM --- Recording mergeinfo for merge of r2 through r11 into '.': @REM U . @pause svn st @REM M . @REM C first.txt @REM > local add, incoming add upon merge @pause svn revert -R . svn switch "^/branches/prj1" svn merge "^/trunk" svn commit -m "prj1 sync" svn switch "^/branches/testing" svn merge "^/branches/prj1" svn commit -m "prj1 into testing" svn merge "^/branches/prj2" @REM --- Recording mergeinfo for merge of r2 through r7 into '.': @REM U . @REM -- Zusammenfuehren von r8 bis r13 in '.': @REM C second.txt @REM G . @REM --- Recording mergeinfo for merge of r8 through r13 into '.': @REM U . @pause svn st @REM M . @REM C second.txt @REM > local add, incoming add upon merge @pause svn revert -R . cd \