[ 
https://issues.apache.org/jira/browse/SVN-1722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nathan Hartman closed SVN-1722.
-------------------------------
    Resolution: Fixed

> svn diff may missreport a revision as the working copy
> ------------------------------------------------------
>
>                 Key: SVN-1722
>                 URL: https://issues.apache.org/jira/browse/SVN-1722
>             Project: Subversion
>          Issue Type: Bug
>          Components: cmdline client
>    Affects Versions: all
>            Reporter: Subversion Importer
>            Priority: Trivial
>              Labels: bite-sized, patch
>
> {noformat:nopanel=true}
> It appears that the 'svn diff' command can result in output in which the file 
> headers within the diff are incorrect; the unified diff itself appears to be 
> as 
> expected.  Specifically under some circumstances a diff header will indicate 
> one revision as the working copy when it is not.
> In this example revision 0 (BASE) is an empty repository and revision 1 
> (HEAD) 
> contains a single file containing the word test (the full recipe to reproduce 
> and the full output from all the possible diffs are included at the end of 
> this 
> email).  The working copy from which the diffs are requested is a checkout of 
> revision 0.
> If we examine the svn diff -r BASE:HEAD and HEAD:BASE outputs it is clear 
> that 
> the diffs cannot both be against the working copy (if either is) despite the 
> fact that it is clearly labeled as such indeed they are the diff we would 
> expect between the requested versions, the diff (further below) of the real 
> working copy against BASE and HEAD support this.  It seems to me that BASE is 
> being incorrectly reported as working copy.
> + svn diff -r BASE:HEAD
> Index: file
> ===================================================================
> --- file        (revision 0)
> +++ file        (working copy)
> @@ -0,0 +1 @@
> +test
> + svn diff -r HEAD:BASE
> Index: file
> ===================================================================
> --- file        (revision 1)
> +++ file        (working copy)
> @@ -1 +0,0 @@
> -test
> Does this come under an existing issuse or should I file one.  Feel free to 
> say 'stupid' that's because of 'foo' and expected behaviour.
> Cheers.
> -apw
> [apw@kuckoo test2]$ cat T
> rm -rf repo test test2
> svnadmin create repo
> svn checkout file:///`pwd`/repo test
> svn checkout file:///`pwd`/repo test2
> cd test
> echo "test" >file
> svn add file
> svn -m test commit
> cd ../test2
> svn diff -r BASE:HEAD
> svn diff -r HEAD:BASE
> svn diff -r BASE
> svn diff -r HEAD
> svn diff -r 0:BASE
> svn diff -r 0:HEAD
> svn diff -r 0:1
> svn diff -r 1:0
> svn diff -r 0
> svn diff -r 1
> [apw@kuckoo test2]$ sh -x T
> + rm -rf repo test test2
> + svnadmin create repo
> ++ pwd
> + svn checkout file:////home/apw/test2/repo test
> Checked out revision 0.
> ++ pwd
> + svn checkout file:////home/apw/test2/repo test2
> Checked out revision 0.
> + cd test
> + echo test
> + svn add file
> A         file
> + svn -m test commit
> Adding         file
> Transmitting file data .
> Committed revision 1.
> + cd ../test2
> + svn diff -r BASE:HEAD
> Index: file
> ===================================================================
> --- file        (revision 0)
> +++ file        (working copy)
> @@ -0,0 +1 @@
> +test
> + svn diff -r HEAD:BASE
> Index: file
> ===================================================================
> --- file        (revision 1)
> +++ file        (working copy)
> @@ -1 +0,0 @@
> -test
> + svn diff -r BASE
> + svn diff -r HEAD
> Index: file
> ===================================================================
> --- file        (revision 1)
> +++ file        (working copy)
> @@ -1 +0,0 @@
> -test
> + svn diff -r 0:BASE
> + svn diff -r 0:HEAD
> Index: file
> ===================================================================
> --- file        (revision 0)
> +++ file        (revision 1)
> @@ -0,0 +1 @@
> +test
> + svn diff -r 0:1
> Index: file
> ===================================================================
> --- file        (revision 0)
> +++ file        (revision 1)
> @@ -0,0 +1 @@
> +test
> + svn diff -r 1:0
> Index: file
> ===================================================================
> --- file        (revision 1)
> +++ file        (revision 0)
> @@ -1 +0,0 @@
> -test
> + svn diff -r 0
> + svn diff -r 1
> Index: file
> ===================================================================
> --- file        (revision 1)
> +++ file        (working copy)
> @@ -1 +0,0 @@
> -test
> [apw@kuckoo test2]$
> {noformat}
> Original issue reported by *awhitcroft*



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to