[ 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)