Subversion 1.6.0 and Tree Conflicts

About pburba

Paul is a committer on the Apache Software Foundation's Subversion project and has worked on Subversion for the past nine years. He works as a software engineer for Collabnet from his home in New Hampshire and when not coding he can usually be found skiing with his nephews, mountain biking with friends, or traveling with his wife. Some time in the distant past Paul graduated from the University of New Hampshire with a degree in Business. Somewhat more recently he obtained a masters in computer science from Boston University.

  7 comments for “Subversion 1.6.0 and Tree Conflicts

  1. March 27, 2009 at 10:55 am

    This is good, clear explanation of current and future behavior, thank you.
    It’s also a good explanation of why you always want to do merges into local copies with no modifications. My working practice is to run “svn diff” before any merge to avoid these problems. Of course, there are other kinds of tree conflicts that I hope svn 1.6 handles more cleanly. Any chance of a follow-on article about those?
    >Recall that Subversion performs renames as a combination of a copy and a delete.
    This might be clearer if written as “Recall that Subversion performs renames as a combination of an addition and a delete.” since the next sentence talks about the “addition half”
    ~Matt

  2. Paul T Burba
    March 27, 2009 at 11:38 am

    > Of course, there are other kinds of tree conflicts that I
    > hope svn 1.6 handles more cleanly. Any chance of a follow-on
    > article about those?
    Can’t commit to that immediately, but I don’t see why not, particularly if there is interest. In the meantime be sure to check out the Subversion Book, http://svnbook.red-bean.com/, if you haven’t already. There is a section in the nightly build for 1.6 on tree conflicts.
    >> Recall that Subversion performs renames as a combination of a copy and a delete.
    >
    > This might be clearer if written as “Recall that Subversion performs
    > renames as a combination of an addition and a delete.” since the next
    > sentence talks about the “addition half”
    Actually svn move/rename really is equivalent to svn copy SRC DST followed by svn delete SRC. You are correct in a sense about the addition, since any copy done within the working copy implies a path or paths scheduled for addition; in this case DST would be scheduled for addition with history.
    Possibly the statement “the addition half of the rename occurs” is the problem here. It is equally accurate in this example to say “the addition-with-history *component* of the rename occurs”…if that makes it a bit clearer.
    Paul

  3. May 12, 2009 at 12:19 pm

    What happens when a file is deleted in a branch and also deleted on the trunk? Then merge up to the branch and I have an error resolving a conflict on a file that doesn’t exist.
    “Error: Aborting commit: ‘C:SVNsource-branchsrcitem.vssscc’ remains in conflict ”
    Call me an idiot, but I can’t resolve a conflict on a non-existent file. TortoiseSVN and command line won’t let me do anything with the tree conflict either, it doesn’t think there is anything to resolve. It just won’t let me commit.

  4. May 12, 2009 at 1:47 pm

    Hi Rob,
    I just wrote a long response, but then something occurred to me: What version of TortoiseSVN are you using? I haven’t downgraded to check exactly what happens, but if you are not using TortoiseSVN 1.6+ then you will definitely have problems with tree conflicts if you are using a 1.6+ command line client.
    See http://tortoisesvn.tigris.org/tsvn_1.6_releasenotes.html#compatibility.
    Of course if you *are* using TortoiseSVN 1.6+ then let me know and we can go from there.
    Paul

  5. May 12, 2009 at 3:20 pm

    I am using TortoiseSVN 1.6.0 build 15855
    The SVN server is not 1.6 yet. Would that cause any issues?

  6. May 12, 2009 at 3:23 pm

    Oh wait. Rereading… I misread b/c I use TortoiseSVN only as a client tool. We use VirtualSVN Server in the back end and it is not upgraded.
    The link you pointed me to mentioned I would have some issues.
    This is most likely the culprit.
    Thanks man! Much appreciated.

  7. June 19, 2013 at 8:03 am

    This is a very good article about SVN tree conflicts. Very clear and well explained.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

CAPTCHA Image

*