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

Re: incorrect result of merge

From: Simon Large <simon_at_skirridsystems.co.uk>
Date: 2005-12-22 17:58:43 CET

[ Transferring this to the dev list for further discussion ]

Michael Colefax wrote:
> After some discussion in subversion, it appears as though Subversion (v1.2.3
> r15833) is working correctly.
>
> http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=110123
>
> http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=110143
>
>
> Simon wrote:
>
>>I can reproduce this in r5039. Interestingly, running update on the
>>original trunk does not generate the duplicate, only a fresh checkout.
>>That's bad :-(
>
>
> Yes, I see this too - but only when using Tortoise!
>
> The Subversion behaviour was confirmed correct by Phillip Martin in the
> discussion linked above. Have you been able to reproduce this with
> Subversion alone?
>
> In the second merge, Subversion reports "Skipped 'wc\folder\file1.cpp'",
> but Tortoise reports that it deletes it. This is when the problem starts -
> and the behaviour of Subversion and Tortoise deviates.
>
> Note for this comparison I am using Subversion v1.2.3 r15833, and Tortoise
> v1.2.5 build4719 (which says it contains Subversion v1.2.3)

I have a attached bat file (with txt extension to get past ISP virus
checkers) which reproduces this in TSVN now. It has a PAUSE command part
way through.

Run the batch file and hit any key to pass through the pause first to
see the results with the CLI. Note that the WC subfolder contains file1.cpp

Now run the batch file and leave it on pause.
Navigate to the WC in explorer.
Right click on the WC folder and select Merge.
Change the URL from 'main' to 'branch/b'
Show log and select r5.
Merge
Commit
Update if you like (it seems to make no difference)
Note that the WC subfolder is empty.
A fresh checkout of this URL shows WC containing file1.cpp

I used SVN 1.2.0 (the latest client I have!) and TSVN r5225. I know
these are not the same, but Philip Martin reports that there is no
problem with the trunk CLI, and Michael Colefax has tried CLI 1.2.3 and
TSVN 1.2.6 or similar.

For some reason, TSVN is producing different results from the CLI, and
the difference is not being fixed by an update. This is a little
worrying as I thought we could never go far wrong when using the SVN
libraries :-/

Simon

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org

@echo off
set ROOT=C:/Subversion/Test
set REPONAME=Repos6
set WCNAME=Test6
set REPO=file:///%ROOT%/%REPONAME%
set WC=%ROOT%/%WCNAME%

cd %ROOT%
if exist %REPONAME% rd /s /q %REPONAME%
if exist %WCNAME% rd /s /q %WCNAME%
if exist template rd /s /q template

mkdir %REPONAME%
svnadmin create %REPONAME%
mkdir %WCNAME%
mkdir template
cd template
mkdir main
mkdir branch
cd ..
svn import template %REPO% -m r1
rd /s /q template
svn cp %REPO%/main %REPO%/branch/b -m r2
svn co %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 -r2:3 %REPO%/branch/b %WC%
pause
echo second merge
svn merge -r4:5 %REPO%/branch/b %WC%
svn ci %WC% -m r6

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: users-help@tortoisesvn.tigris.org
Received on Sun Dec 25 03:58:28 2005

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

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