On Wed, Jun 26, 2013 at 01:39:59PM +0200, Johan Corveleyn wrote: > As Tobias pointed out, 'svn diff' does indeed do the diff against the > copy source, but *only if you're lucky*. I would consider this erratic > behavior definitely a bug, because it makes the output unpredictable, > and thus unusable in general.
OK, you've both convinced me now. I agree that diff -c could trace copyfrom even if the copfrom rev is outside the operative revision range, and display an 'added' file only with --show-copies-as-adds. Now, the problem is that the repos->repos diff case doesn't support --show-copies-as-adds yet (see do_diff() in libsvn_client/diff.c). So it's not a trivial fix and might require some work to get done.