You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@subversion.apache.org by "Ivan Zhakov (JIRA)" <ji...@apache.org> on 2015/10/17 15:26:05 UTC
[jira] [Updated] (SVN-4464) diff repo to wc diff against a copy
with --show-copies-as-adds is busted
[ https://issues.apache.org/jira/browse/SVN-4464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ivan Zhakov updated SVN-4464:
-----------------------------
Description:
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.
was:
{noformat:nopanel=true}
This happens on 1.8.x and trunk (1.7 has other issues which is how I ended up
finding this)
[[[
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
]]]
Which produces:
[[[
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
]]]
Yes really two diffs for the same file. Same behavior happens with directories.
[[[
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
]]]
[[[
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
]]]
Finally for some more fun you can actually segfault the client like so:
[[[
svn rm bar
svn ci -mm
svn cp foo bar
svn diff ^/foo bar
]]]
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.
{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)