[
https://issues.apache.org/jira/browse/SVN-4464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14932731#comment-14932731
]
Ivan Zhakov edited comment on SVN-4464 at 10/17/15 1:27 PM:
------------------------------------------------------------
Well I assumed that it failed with an error about ancestry. Nope it just
chokes:
{noformat}
svn diff ^/a/b bar --show-copies-as-adds
svn: E200003: Delta source ended unexpectedly
{noformat}
Which is strange for a ra_local diff.
was (Author: breser):
{noformat:nopanel=true}
Well I assumed that it failed with an error about ancestry. Nope it just
chokes:
svn diff ^/a/b bar --show-copies-as-adds
svn: E200003: Delta source ended unexpectedly
Which is strange for a ra_local diff.
{noformat}
> diff repo to wc diff against a copy with --show-copies-as-adds is busted
> ------------------------------------------------------------------------
>
> Key: SVN-4464
> URL: https://issues.apache.org/jira/browse/SVN-4464
> Project: Subversion
> Issue Type: Bug
> Components: libsvn_client
> Affects Versions: 1.8.x
> Reporter: Ben Reser
> Assignee: Ben Reser
> Fix For: ---
>
>
> This happens on 1.8.x and trunk (1.7 has other issues which is how I ended up
> finding this)
> {noformat}
> svnadmin create repo
> svn co file://$PWD/repo wc
> cd wc
> echo foo > foo
> svn add foo
> svn ci -mm
> svn up
> svn cp foo bar
> svn diff ^/foo bar --show-copies-as-adds
> {noformat}
> Which produces:
> {noformat}
> Index: bar
> ===================================================================
> --- bar (file:///Users/breser/double-diff/2/repo/foo) (revision 1)
> +++ bar (.../bar) (working copy)
> @@ -1 +0,0 @@
> -foo
> Index: bar
> ===================================================================
> --- bar (file:///Users/breser/double-diff/2/repo/foo) (revision 0)
> +++ bar (.../bar) (working copy)
> @@ -0,0 +1 @@
> +foo
> {noformat}
> Yes really two diffs for the same file. Same behavior happens with
> directories.
> {noformat}
> svn mkdir a
> echo b > a/b
> svn add a/b
> svn ci -mm
> svn up
> svn cp a aa
> svn diff ^/a aa --show-copies-as-adds
> {noformat}
> {noformat}
> Index: aa/b
> ===================================================================
> --- aa/b (file:///Users/breser/double-diff/2/repo/a) (revision 2)
> +++ aa/b (.../aa) (working copy)
> @@ -1 +0,0 @@
> -b
> Index: aa/b
> ===================================================================
> --- aa/b (file:///Users/breser/double-diff/2/repo/a) (revision 0)
> +++ aa/b (.../aa) (working copy)
> @@ -0,0 +1 @@
> +b
> {noformat}
> Finally for some more fun you can actually segfault the client like so:
> {noformat}
> svn rm bar
> svn ci -mm
> svn cp foo bar
> svn diff ^/foo bar
> {noformat}
> This might be related but I'm not sure yet.
> Doing the a wc to wc diff e.g. {{svn diff foo bar --show-copies-as-adds}}
> works as expected in all the above cases so if someone has ran into this
> issue they can do that.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)