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

problems with result of double merge

From: Michael Colefax <MichaelCo_at_resmed.com.au>
Date: 2005-12-19 04:32:24 CET


Here is a message posted to the users list without response. I am
re-posting it here in case it is of concern - Subversion's behaviour seems
incorrect in that the file history appears to be corrupted. I checked the
list of issues, and couldn't find it covered there already:

-----Original Message-----

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 Subversion v1.2.3 r15833):

  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 trunk. The file created in step(2)
appears in 2 locations! Although this is undesirable, it is predictable
since during step 7, subversion indicated it skipped deleting the file from
the folder.

So the two issues are:

  (A) Should subversion have skipped deleting the file in step 7?

  (B) When inspecting the verbose log of the main trunk following step 8,
there is no entry indicating the addition of the file in the folder. Is
this correct?

My opinion on (A) is that Subversion, instead of skipping the deletion,
should have cancelled the addition of file. Then everything would have been
as expected. As for (B), I would have thought the addition of the file
should have appeared in the log.

Kind Regards,
Michael Colefax

TortoiseSVN is affected by this bug. More info can be found there:

Warning: Copyright ResMed. Where the contents of this email and/or attachment includes materials prepared by ResMed, the use of those
materials is subject exclusively to the conditions of engagement between ResMed and the intended recipient.
This communication is confidential and may contain legally privileged information.
By the use of email over the Internet or other communication systems, ResMed is not waiving either confidentiality of, or legal
privilege in,the content of the email and of any attachments.
If the recipient of this message is not the intended addressee, please call ResMed immediately on +61 2 9886 5000 Sydney, Australia.

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Dec 19 13:10:18 2005

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

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