[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

unexpected tree conflict on merge for same source file

From: Sven Uhlig <svenuhlig_at_web.de>
Date: Tue, 16 Oct 2012 13:17:40 +0200

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 \
Received on 2012-10-16 15:49:48 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.