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

Re: [Fwd: Re: incorrect result of merge]

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2005-12-21 14:45:27 CET

Michael Colefax <MichaelCo@resmed.com.au> writes:

>> > But the log for the main trunk doesnt show this -
>> > although the output during the commit in step(8) did!
>>
>> That looks like a misunderstanding on your part.
>
> Yes, I was expecting that every file on the main trunk would show up
> explicitly as "added" somewhere in the main trunk history.

If you use ra_dav then due to a peculiarity of the implementation you
will see the file:

$ svn log -vqr6 file://`pwd`/repo/main
------------------------------------------------------------------------
r6 | (no author) | 2005-12-21 13:39:07 +0000 (Wed, 21 Dec 2005)
Changed paths:
   A /main/file1.cpp (from /branch/b/file1.cpp:5)
   A /main/folder (from /branch/b/folder:3)
   R /main/folder/file1.cpp (from /branch/b/folder/file1.cpp:3)
------------------------------------------------------------------------

> Following your explanation, I agree that it is not certain that Subversion
> should remove the file from the folder as I expected. Thanks for your
> analysis.
>
> Note however Simons observation is still of concern - ie after commiting the
> merge, the working copy does not contain the duplicate file, even after
> doing an update. However a fresh check-out does contain it.

I can't reproduce that (using trunk anyway):

#!/bin/bash

SVN=svn
REPO=file://`pwd`/repo
#REPO=svn://localhost/repo
#REPO=http://localhost/repo
rm -rf repo wc
svnadmin create repo
echo [general] >> repo/conf/svnserve.conf
echo anon-access = write >> repo/conf/svnserve.conf

rm -rf template
mkdir template
mkdir template/main
mkdir template/branch
$SVN import template $REPO -m r1
$SVN co $REPO wc
$SVN cp $REPO/main $REPO/branch/b -m r2
$SVN sw $REPO/branch/b wc
$SVN mkdir wc/folder
echo first > wc/folder/file1.cpp
$SVN add wc/folder/file1.cpp
$SVN ci wc -m r3
echo second > wc/file2.cpp
$SVN add wc/file2.cpp
$SVN ci wc -m r4
$SVN mv wc/folder/file1.cpp wc/file1.cpp
$SVN ci wc -m r5
$SVN sw $REPO/main wc
echo first merge
$SVN merge -c3 $REPO/branch/b wc
echo second merge
$SVN merge -c5 $REPO/branch/b wc
$SVN ci wc -m r6

After running that script I get

$ svn st -v wc
                5 1 pm wc
                6 6 pm wc/file1.cpp
                6 6 pm wc/folder
                6 6 pm wc/folder/file1.cpp

Which file is missing?

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Dec 25 03:42:34 2005

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