On Thu, May 03, 2012 at 02:43:11PM +0200, Dmitry Pavlenko wrote: > Helllo Stefan. > > Thanks for trying to solve this problem. > Unfortunately you patch doesn't solve the problem because of 2 reasons. > 1. It doesn't change "target" (in diff request), and it still may contain '/'. > 2. If in my example (just replace http://localhost/svn == file:///tmp/test) > diff fails if I compare r2 > and r4. > > $ svn diff file:///tmp/test/directory/subdirectory@2 > file:///tmp/test/directory/subdirectory@4 > svn: E125007: Path 'subdirectory/file1' must be an immediate child of the > directory > 'directory/subdirectory'
Thanks for catching those problems. I'll look into them. > > Though I can confirm that for r1-r4 comparison the output is ok with your > patch. > > Actually I didn't expect involving "relative_to_dir" feature because > currently svn client doesn't > set this parameter anywhere. And I don't think it's a good idea to to use it > now. As I wrote I think > a better approach is to eliminate that do{}while(); cycle and to do something > like (though it may > require some significant efforts) > > if (any or urls to compare doesn't exist in peg revision) { > generate full addition/deletion diff using a special report > //or alternative throw an exception like svn 1.6 does I don't want a solution that requires a server upgrade. This is a user-interface problem. The client/server interaction is capable of producing the required information. We just have to display the information in a better way. Ideally we should come up with a simple fix that can be merged to 1.7.x.