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

Re: Bug report: "File not found" error when showing log of file whose folder has been copied from an older revision

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Thu, 13 Dec 2012 21:17:32 +0100

On 12.12.2012 22:38, Michael Schierl wrote:
> Hello,
>
>> Thanks for the detailed report and the recipe on how to reproduce the
>> problem.
>> I've opened issue #442 for this:
>> http://code.google.com/p/tortoisesvn/issues/detail?id=442
>
> Thanks for the (very) quick fix for this issue. I've been testing the
> TortoiseSVN-1.7.10.23590-dev-win32-svn-1.7.7.msi nightly build (very
> useful that you provide nightlies for reporters to test your fixes!) for
> the last three days and I must say that the issue has never reappeared
> when showing the log (which does not necessarily mean all cases are
> fixed, but quite promising), however it still appears when blaming
> files. As I assumed it was the same issue, I did not produce a detailed
> test case for that, but since it apparently isn't, here is another test
> case (and sorry for any confusion caused and for having to build yet
> another nightly). The structure is similar (in fact, I built it by
> looking at the previous log and redoing the changes in TortoiseSVN, but
> this time with some real changes in the file so that blaming is interesting)
>
> To reproduce:
> 1. Create an empty repository (TortoiseSVN->Create repository here)
>
> 2. Import unzipped attached repository dump into the empty repository:
> svnadmin load c:\path\to\repo < c:\path\to\minimalexample-blame.dump
>
> 3. Open repository browser for the repository (right click folder and
> select repo browser) - you can also perform a checkout and do the next
> steps in the working copy if you prefer.
>
> 4. Navigate to trunk/folder2/file.txt, right click file and choose
> Blame. Use default settings to blame the file back to revision 1.
>
> 5. Right click one of the two lines that are from revision 5 and contain
> the letter C, and choose "Show Changes"
>
> Actual result:
> Message box
> Unable to find repository location for
> 'file:///<...>/trunk/folder2/file.txt' in revision 4
>
> Expected result:
> A diff viewer where I see that file A B B A gets changed to A B C C B A
>
> 6. After closing the message box, right click the same revision again
> and choose "Blame previous revision".
>
> Actual result:
> Message box
> '/trunk/folder2/file.txt' is not a file in revision 4
>
> Expected result:
> A blame viewer where I see the file A B B A and which lines came from
> which revision.

Actually, we can not fix this.
While Subversion has so called peg revisions which should make the svn
lib automatically find the 'previous' revision in such situations, that
fails if the copy operation is done from an earlier revision than HEAD-1.
So unless that is ever fixed in the svn lib, we can do nothing about that.

> Workaround except opening a log viewer from the blame window, and blame
> the previous revision from there.
>
> While writing up that bug report, I noticed that the "Compare with
> previous revision" command in the log window of that file does not work
> either when invoked on revision 5, but selecting two adjacent revisions
> and choosing "Compare revisions" works. As in practice I tend to mark
> two revisions (bad habit from the SCM we used before using TortoiseSVN)
> when showing changes, I did not notice that one before :)
>
> Thanks for reading, and would be glad if anyone could fix this :-)

if you select two revisions, then the diff is done with those two
explicit revisions. If you only select one, then the diff is done
REV-to-REV-1. And there the svn lib can not find the path in REV-1 since
as I said the peg revision algorithm doesn't work for copies that were
done from earlier revisions.

Sorry.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest interface to (Sub)version control
    /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3035521
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2012-12-13 21:17:45 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.