[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:31:29 +0100

On Thu, Dec 13, 2012 at 9:17 PM, Stefan Küng <tortoisesvn_at_gmail.com> wrote:

> 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<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-**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.

Found the reference:

just in case you're interested in the internals...


  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2012-12-13 21:31:54 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.