[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Regression: Branch from working copy with modified files

From: Stefan Kng <tortoisesvn_at_gmail.com>
Date: 2007-03-16 19:12:41 CET

Norbert Unterberg wrote:
> I have to warm up a very old issue, because it seemed to have slipped
> back in into TSVN. You can not merge or show the differences in a
> revision where a branch was created. But this feature is required when
> you modify your WC and then create a branch from the modified working
> copy.
>
> The problem was something with using wrong PEG revisions, and was
> fixed in the past in revisions 4082 and 4141. Now the problem is back
> (at least since revision 1.4.1).
>
> Before writing it all again, I just refer to the old mails in the archive:
>
> The thread begins here:
> http://svn.haxx.se/tsvn/archive-2005-08/0117.shtml
>
> Here is the reproduction recipe, which still works unmodified to show
> the problem:
> http://svn.haxx.se/tsvn/archive-2005-08/0133.shtml
>
> And the problem again applies to both the show log dialog and the merge
> dialog.

Unfortunately, I don't think this time I can fix it.
The problem here is a little bit complicated:

When you create a copy from your working copy, Subversion creates a new
revision in the repository. If you now want to show a diff between the
new revision and the revision before, you'll get an error. The reason is
that the copy you've created didn't exist in a previous revision.

If you would have created a copy from e.g. the trunk or some other url
instead of the working copy, Subversion would add copy-from information
so it knows where the copy came from. That's why the diffing works if
you create e.g. a tag/branch from trunk and not your working copy.

If we really wanted to show the diff, we would have to know which url
your working copy was at when you copied it. But Subversion doesn't
store that information (anymore? - don't know if it ever did, but I
guess there must have been some changes there because as you noted, it
worked some time in the past).

You can check it with the command line client. The report you mentioned
here: http://svn.haxx.se/tsvn/archive-2005-08/0117.shtml
doesn't work anymore (the 'svn merge -rX:Y url' and 'svn diff rX:Y url').

Mark Phippard has some more information about this:
http://markphip.blogspot.com/2007/01/shelves-in-subversion.html

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Fri Mar 16 19:12:55 2007

This is an archived mail posted to the TortoiseSVN Dev mailing list.