Just did an update that caused a conflict so reading about Subversion’s handling.
One thing it does is create 3 copies of a conflicted file. One with an extension of mine, which is what the file looked like before any conflict information was inserted. Two copies are for the revision prior to doing the update, and the revision the update just retrieved. This way you can see where you were, where Subversion had problems, and where the file stands. Much better than CVS’ handling.
The only thing here is the Subversion diff utility isn’t very good. Minor changes in 2 places of a group of lines, and it just shows huge chunks of deletions and additions, rather than marking lines that have changed. I’m going to have to find a diff utility that can work with Subversion so I can replace it…
Another big difference between conflict resolution here and CVS is CVS assumed the conflicts were gone if all the conflict markers were removed from the file. With Subversion, you have to explicitly run svn resolved on the file in question. This will tidy up the 3 temp files created above, and let Subversion know you are satisfied with the results.
Just finished looking at the reason for the conflict, and basically in my case it was the poor diff utility. Since it couldn’t accurately resolve minor line deletions, it needed to flag it as a conflict. REALLY need a better diff!!!