On Wed, Jun 26, 2013 at 3:01 PM, Stefan Sperling <s...@elego.de> wrote: > 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.
Perhaps we should regard that as a separate problem. Isn't the fact that --show-copies-as-adds doesn't work for repos->repos diff, orthogonal to fixing the default behavior (non-show-copies-as-adds) regarding moved files? Or do you feel that the change in behavior ("fix") of diff -c is dependent on a good working --show-copies-as-adds? -- Johan