You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Franz Weller <fr...@freescale.com> on 2009/10/06 16:19:44 UTC

"svn diff -c" on a merged revision shows wrong parent rev

Using:
svn, version 1.6.5 (r38866)
compiled Sep  1 2009, 13:23:06
Windows XP SP2

Ran this command:
  "svn diff -c 8299 some_file.cpp"

Output was:
  "Index: ddi_lba_nand_media.cpp
  ===================================================================
  --- some_file.cpp      (revision 8298)
  +++ some_file.cpp      (revision 8299)
  (and subsequent difference details...)"

Problem:
The predecessor's revision 8298 is wrong.
The actual predecessor is a different revision, "8278".

Revision 8299 was created by merging from 8298 of a different URL into 8278,
using "svn merge -c 8298 URL_B ."

Here it is pictorially:

URL_A   URL_B
r8278   r8298
 |     /
 |    /
 |   /
 V  V
r8299
URL_A

The predecessor of 8299 is therefore 8278.

Note that the difference details *are* correct.  i.e. The difference 
contents
do match the output of "svn diff -r 8278:8299 some_file.cpp".  Only the
revision number seems to be incorrect in the output of "svn diff -c 8299".

Thanks.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2404180

RE: Re: "svn diff -c" on a merged revision shows wrong parent rev

Posted by Julian Foad <ju...@btopenworld.com>.
Franz Weller wrote:
> As you stated, I asked subversion for the difference in URL_A.  Note
> that r8298 is not in URL_A; it is in URL_B.

You have a conceptual misunderstanding of Subversion. Please read
<http://svnbook.red-bean.com/en/1.5/svn.basic.in-action.html#svn.basic.in-action.revs> for an explanation.

- Julian

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2404834

RE: Re: "svn diff -c" on a merged revision shows wrong parent rev

Posted by Franz Weller <fr...@freescale.com>.
> On Tue, 2009-10-06 at 11:19 -0500, Franz Weller wrote:
> > Using:
> > svn, version 1.6.5 (r38866)
> > compiled Sep  1 2009, 13:23:06
> > Windows XP SP2
> > 
> > Ran this command:
> >   "svn diff -c 8299 some_file.cpp"
> > 
> > Output was:
> >   "Index: ddi_lba_nand_media.cpp
> >   ===================================================================
> >   --- some_file.cpp      (revision 8298)
> >   +++ some_file.cpp      (revision 8299)
> >   (and subsequent difference details...)"
> > 
> > Problem:
> > The predecessor's revision 8298 is wrong.
> > The actual predecessor is a different revision, "8278".
> > 
> > Revision 8299 was created by merging from 8298 of a different URL into 8278,
> > using "svn merge -c 8298 URL_B ."
> > 
> > Here it is pictorially:
> > 
> > URL_A   URL_B
> > r8278   r8298
> >  |     /
> >  |    /
> >  |   /
> >  V  V
> > r8299
> > URL_A
> > 
> > The predecessor of 8299 is therefore 8278.
> > 
> > Note that the difference details *are* correct.  i.e. The difference 
> > contents
> > do match the output of "svn diff -r 8278:8299 some_file.cpp".  Only the
> > revision number seems to be incorrect in the output of "svn diff -c 8299".
> 
> It is not incorrect. You are asking for the difference between
> some_file.cpp (at URL_A) in r8298 of the repository and some_file.cpp
> (at URL_A) in r8299 of the repository, and that is what it is showing
> you. Note that some_file.cpp (at URL_A) in r8298 is exactly the same as
> some_file.cpp (at URL_A) in r8278 because the file wasn't changed over
> that range of revision history.
> 
> - Julian

As you stated, I asked subversion for the difference in URL_A.  Note that r8298 is not in URL_A; it is in URL_B.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2404547

Re: "svn diff -c" on a merged revision shows wrong parent rev

Posted by Julian Foad <ju...@btopenworld.com>.
Julian Foad wrote:
> On Tue, 2009-10-06 at 11:19 -0500, Franz Weller wrote:
> > Note that the difference details *are* correct.  i.e. The difference 
> > contents
> > do match the output of "svn diff -r 8278:8299 some_file.cpp".  Only the
> > revision number seems to be incorrect in the output of "svn diff -c 8299".
> 
> It is not incorrect. You are asking for the difference between
> some_file.cpp (at URL_A) in r8298 of the repository and some_file.cpp
> (at URL_A) in r8299 of the repository, and that is what it is showing
> you. Note that some_file.cpp (at URL_A) in r8298 is exactly the same as
> some_file.cpp (at URL_A) in r8278 because the file wasn't changed over
> that range of revision history.

If you want to follow up on this conversation, please do so on the
<users@> mailing list as this is a usage question. Thanks.

- Julian

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2404528

Re: "svn diff -c" on a merged revision shows wrong parent rev

Posted by Julian Foad <ju...@btopenworld.com>.
On Tue, 2009-10-06 at 11:19 -0500, Franz Weller wrote:
> Using:
> svn, version 1.6.5 (r38866)
> compiled Sep  1 2009, 13:23:06
> Windows XP SP2
> 
> Ran this command:
>   "svn diff -c 8299 some_file.cpp"
> 
> Output was:
>   "Index: ddi_lba_nand_media.cpp
>   ===================================================================
>   --- some_file.cpp      (revision 8298)
>   +++ some_file.cpp      (revision 8299)
>   (and subsequent difference details...)"
> 
> Problem:
> The predecessor's revision 8298 is wrong.
> The actual predecessor is a different revision, "8278".
> 
> Revision 8299 was created by merging from 8298 of a different URL into 8278,
> using "svn merge -c 8298 URL_B ."
> 
> Here it is pictorially:
> 
> URL_A   URL_B
> r8278   r8298
>  |     /
>  |    /
>  |   /
>  V  V
> r8299
> URL_A
> 
> The predecessor of 8299 is therefore 8278.
> 
> Note that the difference details *are* correct.  i.e. The difference 
> contents
> do match the output of "svn diff -r 8278:8299 some_file.cpp".  Only the
> revision number seems to be incorrect in the output of "svn diff -c 8299".

It is not incorrect. You are asking for the difference between
some_file.cpp (at URL_A) in r8298 of the repository and some_file.cpp
(at URL_A) in r8299 of the repository, and that is what it is showing
you. Note that some_file.cpp (at URL_A) in r8298 is exactly the same as
some_file.cpp (at URL_A) in r8278 because the file wasn't changed over
that range of revision history.

- Julian

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2404527