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

Bug in svn merge when files are commited with changes into the branch

From: thomas mauch <Thomas.Mauch_at_swisslog.com>
Date: 2005-06-30 12:34:25 CEST

More than two weeks ago I posted a message with subject "Problems with
svn merge on merging a whole branch to another" describing the problems
I encountered when merging just a small branch back to the main trunk.
After a response from Dale Worley I made further investigations and
posted a test case to produce the bug. The messages mentioned can be
found in the thread
http://subversion.tigris.org/servlets/BrowseList?list=users&by=thread&fr
om=335000.

Unfortunately, I got no further comments. As I still think, the behavior
is due to a bug and this bug limits the easy use of branches, I repost
the description with the test case again.

I try exactly to do what is described as common-use for merging in the
Subversion book in the section "Merging a Whole Branch to Another", but
I'm
encountering a lot of conflicts where I think the merge should be able
to
process the files silently and correctly without user intervention.

As the branch has not been existing very long and few development was
done
on the same file in the trunk and the branch, I expected to get only
status
'Updated' during the merge, but I get more 'Conflicts' than 'Updates' -
even
on files which have not been modified in the trunk in the mean time!
If I look in such a file, I see only conflicts like the one below where
there is really nothing conflicting:

<<<<<<< .working
        // some lines
        // of code
        // are her
=======
>>>>>>> .merge-right.r542

Some files which have about the same changes applied are ok.

As I have found out now, all files with conflicts raised have been
commited into
the branch with changes on them. Other files, having about the same bit
of changes
applied to but without having changes alreay when creating the branch,
worked fine.

I attach 3 files and describe how to reproduce the problem:

- You have a repository test with directories trunk/src and branches
- Copy attached file uni_druck_gp12.c.r502 into
trunk/src/uni_druck_gp12.c
  and commit it - this is the version before the branch is created
- Copy attached file uni_druck_gp12.c.r503 into
trunk/src/uni_druck_gp12.c -
  the file now contains the changes which have been made when the branch
  was created
- Create the branch: svn copy src
svn://server//test/branches/test-branch
- Checkout the branch and copy attached file uni_druck_gp12.c.r540 into
  trunk/branches/test-branches/uni_druck_gp12.c - the file now contains
the
  changes made when the branch was active
- Commit the branch
- Now checkout a new trunk directory and execute the command
  svn merge -r <revision-when-branch-was-created>:HEAD
  svn://test/branches/test-branch and the file uni_druck_gp12.c will
  have erroneously a status of conflict

Thomas

____________________________________________________________
This message may contain legally privileged or confidential
information and is therefore addressed to the named persons only.
The recipient should inform the sender and delete this message,
if he/she is not named as addressee.
The sender disclaims any and all liability for the integrity
and punctuality of this message.
The sender has activated an automatic virus scanning by
Messagelabs, but does not guarantee the virus free
transmission of this message.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Received on Thu Jun 30 13:08:36 2005

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