Re: svn commit: r1619452 - in /subversion/trunk/subversion: libsvn_client/diff.c tests/cmdline/diff_tests.py
From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Fri, 22 Aug 2014 12:47:55 +0100
Bert Huijben wrote:
> Julian Foad wrote:
You're right -- 1.8.x inconsistently showed the copy-from revision in only some cases, and "(revision 0)" in some cases, and possibly other things in other cases, when diffing a copied node. For example (running trunk_at_head):
# remove the uninteresting mergeinfo addition
$ svn propedit p-new hs hs/mailer.py
$ svn18 diff hs/
Property changes on: hs/mailer.py
Property changes on: hs
So I shouldn't describe this as a regression.
> Especially on directories where 1.8.x where the old internal diff callbacks
Yes we did -- at least in cases like 'mailer.py' in the example above.
> And I'm not sure if reporting copy from is really valid either, without
Well, yes... It would be better if the rev and the path matched each other.
It's all quite a mess. I think it now always shows the copy-from rev when diffing a copy (and 'nonexistent' when showing a copy as an add). It's now more consistent than it was, in that way.
It's stupid to show a diff whose header doesn't match the diff hunks -- a header that says 'this is a diff between trunk_at_10 and trunk_at_20' followed by a hunk actually containing a diff between branch_at_15 and trunk_at_20.
We should show header info (paths and revisions) that matches the diff hunks. So, when we are displaying diffs against copy-from, the 'left' header should show the copy-from. We haven't done this before but we should make it so.
This is an archived mail posted to the Subversion Dev mailing list.