> -----Original Message-----
> From: Stefan Sperling [mailto:stsp_at_elego.de]
> Sent: dinsdag 23 augustus 2011 18:51
> To: Julian Foad
> Cc: Neels J Hofmeyr; Subversion Development
> Subject: diff copyfrom, and other inconsistencies [was: Re: diff
> On Mon, Aug 22, 2011 at 12:42:55PM +0100, Julian Foad wrote:
> > I'm noticing all sorts of nasty inconsistencies in diffs. For instance,
> > manual testing reveals that in svn_client_diff5(), show_copies_as_adds
> > is ignored for a repos-repos diff. Instead, a file is diffed against its
> > copyfrom source iff the file is the diff target and not if some parent
> > directory is the diff target. For a repos-WC diff, this is ignored if
> > the file is the diff target. Ugh. Later.
> This reminded me of a patch I have lying around.
> It aims at making 'svn diff' display correct copyfrom paths,
> which is especially important for the new --git style diffs
> which can display copies as first-class operations.
> Right now, the copyfrom revision shown in diff output is often incorrect.
> The patch reuses the send-copyfrom-args feature the client can use to
> request copyfrom information from the server. This was originally added
> for updates but was removed from the client side in 1.7 and later.
> The patch is not yet finished because it breaks merge tests.
> I haven't looked at the merge test failures in detail yet.
> The protocol changes for HTTP are also incomplete.
Note that one of the reasons we abandoned this approach here and in the
update editor was that there was no way to know when the revision was
E.g. there might be 100 new file revisions at the new path, after the copy
was performed and you would still get it reported as a copy via the editor
callback. We just send the previous path for additions.
(The update editor approach also had different problems though)
Making this more reliable requires editor changes or further requests to the
repository to validate the result.
Received on 2011-08-23 19:03:09 CEST