> I expected you'd get an "/directory/subdirectory@1 doesn't exist" error.
I was the older (1.6) SVN behaviour Now "do {} while()" cycle in "diff_prepare_repos_repos" takes parent URL until URL exists in both start and end revisions. So maybe the cycle should be run only once not to let '/'. Or, that is maybe better, if URL doesn't exist in one of revision, diff should show complete addition or complete removal. So maybe this case should be handled separatedly, using a special report. I a "doesn't exist" error is expected, the efforts in that "do {} while ()" cycle seem to be useless. To my opinion It would be reasonable to guarantee that all directories are displayed relative to the parent of url1 and url2 arguments that exists in both revisions (that is found in that "do {} while()" cycle). Or maybe it would be reasonable to display all paths relative to targets (or parents --- for diff on files) as you proposed.