Error showing differences from log at branch creation

16 views
Skip to first unread message

BIRD Neil

unread,
Jan 24, 2013, 9:50:03 AM1/24/13
to us...@tortoisesvn.tigris.org
If I create a branch *with changes* (e.g., copy modified working copy to branch), then TortoiseSVN has problems showing the changes that occurred as part of the copy.

In such a branch, when showing the log up to the point of the copy, modified files show up correctly as changed, but double-clicking them as normal brings up windows for all the autoprops (which is a bit of a pain, if technically correct) and then complains about the file not existing.

So far as I can see, it's trying to diff the first version of the file in the branch with the previous version *in the branch* (which of course didn't exist) as opposed where it was copied from.

I have just discovered that if I show the log of the branch, and do not stop-on-copy, then select the revision just before the copy and also that of the copy, I can select the file and choose “show changes”. *This* method does show the changes I'd like to see.


So I guess the question is: is it a bug or just me? I just updated to 1.7.11 and it behaves the same way (for me).

--
[neil@fnx ~]# rm -f .signature
[neil@fnx ~]# ls -l .signature
ls: .signature: No such file or directory
[neil@fnx ~]# exit

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3045750

To unsubscribe from this discussion, e-mail: [users-un...@tortoisesvn.tigris.org].

Ben Fritz

unread,
Jan 24, 2013, 4:35:18 PM1/24/13
to us...@tortoisesvn.tigris.org
On Thu, Jan 24, 2013 at 8:50 AM, BIRD Neil <Neil...@uk.thalesgroup.com> wrote:
> If I create a branch *with changes* (e.g., copy modified working copy to branch), then TortoiseSVN has problems showing the changes that occurred as part of the copy.
>
> In such a branch, when showing the log up to the point of the copy, modified files show up correctly as changed, but double-clicking them as normal brings up windows for all the autoprops (which is a bit of a pain, if technically correct) and then complains about the file not existing.
>

I don't have an example of your situation, but the similar situation
of a rename with modifications works fine for me.

> So far as I can see, it's trying to diff the first version of the file in the branch with the previous version *in the branch* (which of course didn't exist) as opposed where it was copied from.
>

It's possible SVN doesn't expect you to make changes on the branch
operation so it takes shortcuts trying to come up with a previous
revision, I don't know. Underneath, it is a copy-with-history
operation, which is the same as a rename, so I'm surprised rename
works but branches don't.

> I have just discovered that if I show the log of the branch, and do not stop-on-copy, then select the revision just before the copy and also that of the copy, I can select the file and choose “show changes”. *This* method does show the changes I'd like to see.
>

At least you have a workaround, I guess. What if you double-click the
file in the first branch revision, when you do not have stop-on-copy
selected? Obviously TortoiseSVN has the required data to do what you
want, I'm perplexed why it wouldn't.

>
> So I guess the question is: is it a bug or just me? I just updated to 1.7.11 and it behaves the same way (for me).
>

I think I'd consider it a bug. But then, my advice is actually "don't
do that". Why do you find it necessary to branch from a modified
working copy? You could just as easily branch from the parent revision
of the working copy, switch to the branch, and take your uncommitted
changes along with your working copy to commit later. I think this is
the usual method, and probably better supported seeing as how
branching from a repository revision is the default selection on the
branch dialog.

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3045825

BIRD Neil

unread,
Jan 25, 2013, 3:55:25 AM1/25/13
to us...@tortoisesvn.tigris.org
From: Ben Fritz [mailto:fritzo...@gmail.com], Sent: Thursday, January 24, 2013 9:35 PM

> On Thu, Jan 24, 2013 at 8:50 AM, BIRD Neil
> > If I create a branch *with changes* (e.g., copy modified working
> > copy to branch), then TortoiseSVN has problems showing the changes
> > that occurred as part of the copy.
>
> At least you have a workaround, I guess. What if you double-click
> the
> file in the first branch revision, when you do not have stop-on-
> copy
> selected? Obviously TortoiseSVN has the required data to do what
> you
> want, I'm perplexed why it wouldn't.

This is when I don't have stop-on-copy selected.


> Why do you find it necessary to branch from a modified
> working copy? You could just as easily branch from the parent
> revision of the working copy, switch to the branch, and take your
> uncommitted changes along with your working copy to commit later.

Well, yes, but it's a bit of a faff when SVN has a specific option to “branch working copy” (either via ‘svn cp . xxx’ or the option in TSVN's branch dialogue).

And TBH, while not exactly tricky, it's not really “just as easy”!

--
Neil Bird    Principal Engineer    Tel: +44 (0)1293 587063
  Thales UK, Manor Royal, Crawley, West Sussex, UK, RH10 9PZ
  Work: neil...@uk.thalesgroup.com    Personal: ne...@fnxweb.com

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3045891

Tobias Knauss

unread,
Jun 27, 2019, 8:06:05 AM6/27/19
to torto...@googlegroups.com
Does anyone consider fixing this failure someday?

I have had the same problem several times in the past and again today. I wanted to see what changes were done to a file in all revisions since the branch was created. Unfortunately I created  the branch from a modified working copy, since this is possible and not forbidden. But showing the differences of that file fails with error message "URL ... doesn't exist".

It seems that this is related to
https://groups.google.com/d/topic/tortoisesvn/HjqGyM3PuAw/discussion  "Show Log/ShowChanges from ReproBrowser reports URL ... doesn' exist"
where Stefan wrote

If you're creating a branch from a working copy, not from a revision
(e.g. HEAD) in the repository, then the "previous revision" is not
available for a diff or anything else. Because that revision is actually
the state of the working copy at the time the branch is created.
That's why you get the error message - no way to fix that, sorry.

Stefan
 
But I disagree on this answer because creating a branch from a working copy actually means "create a branch from the currently active revision, switch to that branch, commit the changes", but just done all together in one step.
So, the comparison could simply take the revision which the branch was created from and start the comparison there.

B/R
Tobias Knauss
Reply all
Reply to author
Forward
0 new messages