[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-15 10:40:21 CET

Michael Colefax wrote:
> I noticed that one of our merges seems to have confused our repository. On
> a branch a file was moved. Following the merge to the main trunk, it
> re-appeared also in its original location. However the log of the main
> trunk doesn't show it ever being added there.
>
> After some detective work, I have been able to reproduce the problem in a
> test repository.
>
> I'm not sure if the problem is due to user error or due to a bug - there was
> a slight twist in the way the merge was performed: The entire branch wasn't
> merged. The bottom portion was merged first, and then the top portion -
> skipping one of the middle revisions.
>
> Here is the description of the scenario (using Tortoise 1.2.3 build 4719):
>
> 1. create a branch and switch to it (repository revision 3)
> 2. create a folder, add a file in the folder, and commit to the branch
> (rev 4)
> 3. create another file, not in the folder, and commit to the branch (rev
> 5)
> 4. move the file created in step(2) to the parent directory, and commit to
> the branch (rev 6)
> 5. switch to the main trunk
> 6. merge in the changes made on the branch in revision 4
> 7. merge in the changes made on the branch in revision 6
> 8. commit the merges to the main trunk
>
> Following these steps, checkout the main branch.
-------------------------------------------^^^^^^^
You mean trunk

> The file created in step(2) appears in 2 locations!

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 :-( You should report this on the subversion dev list. It
may be a known bug, but I find the SVN issue tracker very hard to search
(I either get no results at all, or hundreds). Having said that, if they
do know I would have expected it to be serious enough to fix between
1.2 and 1.3 so maybe it is a new bug.

> During step(7) Tortoise indicated that the file was deleted from the folder
> (as expected). However when I repeated the same scenario but using
> Subversion v1.2.3 r15833, Subversion indicated the deletion of the file was
> skipped. (In fact in step(8), Subversion incorrectly adds the file to the
> main trunk, and does not indicate this in the change log...)
>
> The issue for Tortoise is the difference in the reporting of the results in
> step(7). Why does Tortoise indicate the file was deleted, while Subversion
> indicate the deletion was skipped?

Hard to know what it should report. Evidently Subversion is broken here,
but I suppose we should report the same as the CLI.

> The rest of the problems shown by this scenario lie with Subversion, and
> thus are not discussed here.

Go tell 'em!

Simon

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: users-help@tortoisesvn.tigris.org
--
Received on Thu Dec 15 09:43:43 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.