Thank you for your reply, Stefan. My tree conflicts have usually been of the type that the right data is in the right place but it just hasn't been put there the way Subversion expects it... for example, I create a branch and check it out in one working copy, then copy it via the file system to the corresponding place in another working copy -- or something similar. I guess this is exactly what is covered by what you wrote about 1.8: "Subversion 1.8 can handle tree conflicts involving locally moved files or directories quite well." Great!
Umm, oftentimes the problem with documentation is: How to get it in front of users' eyes at the right time? One philosophy would be to let the SVN client guide users so that when it announces a tree conflict to the user it also prints the URL of some documentation about tree conflicts. If that path is to be taken, then I guess the output should be formatted so that graphical SVN clients can tell which part of the output is the usual output and what is to be considered extra hints. Thanks but I don't think the volunteer position is the right thing for me -- at least not now. Vesa ________________________________________ From: Stefan Sperling [s...@elego.de] Sent: Friday, August 30, 2013 4:08 PM To: Vesa Paatero Cc: users@subversion.apache.org Subject: Re: How about a troubleshooting guide for tree conflicts? On Fri, Aug 30, 2013 at 12:49:54PM +0000, Vesa Paatero wrote: > Hi, > > I've noticed that tree conflicts are a nasty thing that occur now and then > but can take half a day to clear out. The tree conflict problem (or field of > problems) runs contrary to SVN's attempt to be the intuitive and quirk-free > alternative to SVN. > In the past, when each directory of the working copy had its own .svn > directory, it was easy to make a drop-in replacement of any mixed-up > directory... but now that there is one central .svn for the working copy, you > may have to discard the whole working copy in order to be able to make > commits and use the system normally again. > I just had a case where no combination of resolve, cleanup, revert or > switch seemed to reset a file (marked with "D" for deletion) to any usable > state. The reason was that an early (grand)parent directory was in an unusual > state ("replaced" or something) but it took long for that to turn out as the > reason why the file, a distant leaf in the directory tree, wouldn't revert > from its deleted state. > > Seasoned users and developers of SVN probably know some set of things to try > to get quickly past a tree conflict problem. So how about making some sort of > a FAQ or a trouble-shooting guide to make such knowledge to a wider audience? > > Regards, > Vesa (Not on the list, please use Cc.) The SVN Book has a short chapter about tree conflicts which I wrote: http://svnbook.red-bean.com/en/1.7/svn.tour.treeconflicts.html However, it falls short of covering complex issues people actually run into in real life. Because, so far, the biggest issue with documenting this has been the huge number of possible cases people can run into. It's easy to document and explain the simple cases. But it is very hard to anticipate what can happen in real life, and how users might want to resolve such conflicts. It is also very hard to clearly describe complex conflicts without overwhelming novice users. It's a lot of work to come up with useful complex examples and document them thoroughly. So I usually end up giving either very generic advice of the form "first, understand where the conflict came from, then figure out how you want to resolve it, and then come up with svn commands that set your working copy into the desired state", or I walk users through resolution ideas based on detailed conflict reproduction transcripts provided by users themselves (but most people don't provide enough info for that when they ask for help on this list). What I would suggest is that we start a wiki page at http://wiki.apache.org/subversion/ which collects real examples people have run into, and walks through them. Perhaps we can end up with a nice collection of hints that can help inspire people trying to resolve tree conflicts. It could even be moved into the SVN Book eventually, into a new advanced chapter on tree conflicts, for instance. Would you like to volunteer starting off such a list with the case you encountered, and motivate others to do the same? Note that we're also trying to improve the user experience with each new release. For example, Subversion 1.8 can handle tree conflicts involving locally moved files or directories quite well. We hope to improve this further in Subversion 1.9 and beyond.