You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Ron Blaschke <ro...@rblasch.org> on 2004/09/21 14:07:30 UTC

Odd diff/merge behaviour

Hello,

I have the following issue with svn 1.1.0-rc3.  I've checked the
mailing lists and the issues, but not in great detail, so I apologize
if this is already known.

I'd like to update a branch to the latest release, so I do:
svn delete <branch>
svn copy <release> <branch>
svn co <branch>
cd branch
svn merge -r <branch copy revision>:<branch revision before delete> <branch>
svn commit

<branch> is something like http://svn.server/development/branch
<release> is something like http://svn.server/releases/release0

Thus, I create a new branch from a newer release, and merge all
changes in the development branch into it.

Now, this worked fine in svn 1.0, but with 1.1.0-rc3 (and rc2), the
merge (and also a diff) produces some odd output.  For some reason,
the diff seems to refer to the trunk and the release, though I didn't
mention it anywhere.  Also, the content seems to be from the changes
on the trunk, not the branch (eg, project.xml was not modified in the
branch).  It looks something like this:
Index: project.xml
===========================================================
--- project.xml (.../trunk)     (revision 2512)
+++ project.xml (.../release/release0)    (revision 2595)
...

Above is the output of
svn diff -r 2512:2595 http://svn.server/development/branch

Now, interestingly if I change the command to
svn diff http://svn.server/developement/branch@2512
http://svn.server/developement/branch@2595
the output is just as I would expect it to be (the changes made on the
branch).

Any hints on that one?  Is this a bug or a feature?
What's be big difference between "-r x:y URL" and "URL@x URL@y"?

Thanks in advance,
Ron


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Odd diff/merge behaviour

Posted by Peter Hercek <pe...@syncad.com>.
Will be this behavior consistent across all the commands, or is the
feature planed for diff only?
I quite like that we can revision at the end of url and by default
 it is BASE (I suppose it should be base and not HEAD).
In rc1 the diff looked for the file name at BASE, but log did look
for it the the revision specified by -r ... well but in rc1 the @
did not work too...

Peter.

----- Original Message ----- 
From: "Ben Collins-Sussman" <su...@collab.net>
Newsgroups: gmane.comp.version-control.subversion.user
Cc: <us...@subversion.tigris.org>; "Max Bowsher" <ma...@ukf.net>
Sent: Friday, September 24, 2004 08:20
Subject: Re: Odd diff/merge behaviour


> 
> On Sep 24, 2004, at 6:54 AM, Ron Blaschke wrote:
> 
> > Thursday, September 23, 2004, 1:18:13 AM, Max Bowsher wrote:
> >
> >>> Any hints on that one?  Is this a bug or a feature?
> >>> What's be big difference between "-r x:y URL" and "URL@x URL@y"?
> >> Feature.
> >> Specifically, the 'peg revision' feature.
> > [snip]
> >
> > Thanks a lot, that cleared things up for me.  Missed that important
> > feature somehow up to now...
> >
> 
> That's because it's new in 1.1, and not yet documented anywhere.  I'm 
> working on getting it into the book this weekend.  :-)

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Odd diff/merge behaviour

Posted by Ben Collins-Sussman <su...@collab.net>.
On Sep 24, 2004, at 6:54 AM, Ron Blaschke wrote:

> Thursday, September 23, 2004, 1:18:13 AM, Max Bowsher wrote:
>
>>> Any hints on that one?  Is this a bug or a feature?
>>> What's be big difference between "-r x:y URL" and "URL@x URL@y"?
>> Feature.
>> Specifically, the 'peg revision' feature.
> [snip]
>
> Thanks a lot, that cleared things up for me.  Missed that important
> feature somehow up to now...
>

That's because it's new in 1.1, and not yet documented anywhere.  I'm 
working on getting it into the book this weekend.  :-)


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Odd diff/merge behaviour

Posted by Ron Blaschke <ma...@rblasch.org>.
Thursday, September 23, 2004, 1:18:13 AM, Max Bowsher wrote:

>> Any hints on that one?  Is this a bug or a feature?
>> What's be big difference between "-r x:y URL" and "URL@x URL@y"?
> Feature.
> Specifically, the 'peg revision' feature.
[snip]

Thanks a lot, that cleared things up for me.  Missed that important
feature somehow up to now...

Ron





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Odd diff/merge behaviour

Posted by Max Bowsher <ma...@ukf.net>.
Ron Blaschke wrote:
> Hello,
>
> I have the following issue with svn 1.1.0-rc3.  I've checked the
> mailing lists and the issues, but not in great detail, so I apologize
> if this is already known.
>
> I'd like to update a branch to the latest release, so I do:
> svn delete <branch>
> svn copy <release> <branch>
> svn co <branch>
> cd branch
> svn merge -r <branch copy revision>:<branch revision before delete> 
> <branch>
> svn commit
>
> <branch> is something like http://svn.server/development/branch
> <release> is something like http://svn.server/releases/release0
>
> Thus, I create a new branch from a newer release, and merge all
> changes in the development branch into it.
>
> Now, this worked fine in svn 1.0, but with 1.1.0-rc3 (and rc2), the
> merge (and also a diff) produces some odd output.  For some reason,
> the diff seems to refer to the trunk and the release, though I didn't
> mention it anywhere.  Also, the content seems to be from the changes
> on the trunk, not the branch (eg, project.xml was not modified in the
> branch).  It looks something like this:
> Index: project.xml
> ===========================================================
> --- project.xml (.../trunk)     (revision 2512)
> +++ project.xml (.../release/release0)    (revision 2595)
> ...
>
> Above is the output of
> svn diff -r 2512:2595 http://svn.server/development/branch
>
> Now, interestingly if I change the command to
> svn diff http://svn.server/developement/branch@2512
> http://svn.server/developement/branch@2595
> the output is just as I would expect it to be (the changes made on the
> branch).
>
> Any hints on that one?  Is this a bug or a feature?
> What's be big difference between "-r x:y URL" and "URL@x URL@y"?

Feature.

Specifically, the 'peg revision' feature.

> svn diff http://svn.server/developement/branch@2512
> http://svn.server/developement/branch@2595

always means: the diff between branch@2512 and branch@2595

In 1.0,

> svn diff -r 2512:2595 http://svn.server/development/branch

meant the same.

In 1.1, it means "this diff between r2512 and r2595 of the object that is 
branch@HEAD". Now, "the object that is branch@HEAD", traced back to 
revisions 2512 and 2595 is trunk!

svn diff -r 2512:2595 http://svn.server/development/branch@2512

would be an alternative way of getting the behaviour you want.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org