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

Problem with merge tracking information in conjunction with file externals

From: Andreas Ländle <al_at_soloplan.de>
Date: Thu, 14 Jan 2010 15:52:09 +0100

Hello,

 

I discovered an imperfection of subversion 1.6.6 (at least in my eyes) last days when I was merging some files from our trunk into the stable branch.

All the merge tracking information of all files in one directory have been changed.

The detailed situation was the following.

/ (added svn:mergeinfo /trunk:r4)

/directory1 (added svn:mergeinfo /trunk/directory1:r4*)

/directory1/file1 (added svn:mergeinfo /trunk/directory1/file1:r4)

 

Take into account that file1 represents a few dozen files in the 'directory1'-directory (all with the same 'r4'-mergeinfo).

In my eyes the merge information for /directory1 and the files in it is redundant.

Shouldn't 'Mergeinfo Elision' consolidate the merge-tracking information down to the "root"?

 

Is this behavior correct? Or have I found a bug or at least an imperfection in subversion?

I have attached a batch script (see below) that reproduces the issue - or at least it should illustrate what I was doing.

 

How can I avoid the creation of this bunch of merge tracking information during the merge?

Surely, I can revert the merge-information on directory1 before committing my merges (but that seems to be very inconvenient).

 

Thanks in advance for any hint.

 

Best regards,

 

Andreas Ländle

 

 

rem create test environment

rmdir TestSvnMerge /S /Q

mkdir TestSvnMerge

cd TestSvnMerge

svnadmin create repos

mkdir project

mkdir project\trunk

mkdir project\trunk\a

mkdir project\trunk\b

echo "EXTERNAL" > project\trunk\b\content.txt

echo "FILE" > project\trunk\a\file1.txt

echo "FILE" > project\trunk\a\file2.txt

svn import project file:///testsvnmerge/repos -m "Import"

rmdir project /S /Q

 

rem co trunk & create external

svn co file:///testsvnmerge/repos/trunk trunk-wc

svn propset svn:externals "../b/content.txt content.txt" trunk-wc\a

svn ci trunk-wc -m "Added external"

svn update trunk-wc

 

rem create branch

svn copy file:///testsvnmerge/repos/trunk file:///testsvnmerge/repos/branch -m "Created branch"

svn co file:///testsvnmerge/repos/branch branch-wc

 

rem edit file (in trunk)

echo "FILE1" > trunk-wc\a\file1.txt

svn ci trunk-wc -m "Edited file"

 

rem merge from trunk in branch

svn merge -r 3:4 trunk-wc branch-wc

 

rem visualize the problem

svn diff branch-wc

svn status branch-wc

cd..

 

**************************************************************************
Soloplan GmbH
Software für Logistik und Planung
Andreas Ländle
Entwicklung
Burgstraße 20 | 87435 Kempten | Deutschland
Telefon: +49 831 57407-465 | Telefax: +49 831 57407-111
E-Mail: al@soloplan.de <mailto:al@soloplan.de> | Web: www.soloplan.de <http://www.soloplan.de/>
Geschäftsführer: Wolfgang Heidl, HRB 5304 Kempten

 
Received on 2010-01-14 15:54:19 CET

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