On 15.06.2010 19:38, Julian Foad wrote:
Stefan Küng wrote:
Any comments on this please?

On Wed, Jun 9, 2010, Stefan Küng<tortoise...@gmail.com>  wrote:
The following script fails with both 1.6.x and trunk:

svnadmin create testrepo
svn co file:///d:/development/svn/svntests/testrepo testwc
cd testwc
echo test>  file.txt
svn add file.txt
svn ci -m ""
echo test2>  file.txt
svn ci -m ""
echo test>  file2.txt
svn add file2.txt
svn ci -m ""
svn ren file.txt file3.txt
svn ci -m ""
svn cat file3....@4 -r3

svn: Unable to find repository location for 'file3.txt' in revision 3

Note: if the commits of file2.txt are not done (i.e., there's no revision
between the asked rev and the rename), then it works.

Hi Stefan.

First, I don't like writing "file3....@4" but I note that exactly the
same result occurs if I write "svn cat ^/file3....@4 -r3".

Look at the log of file3.txt:

$ svn log -vq file3.txt
------------------------------------------------------------------------
r4 | julianfoad | 2010-06-15 18:26:31 +0100 (Tue, 15 Jun 2010)
Changed paths:
    D /file.txt
    A /file3.txt (from /file.txt:2)
------------------------------------------------------------------------
r2 | julianfoad | 2010-06-15 18:25:56 +0100 (Tue, 15 Jun 2010)
Changed paths:
    M /file.txt
------------------------------------------------------------------------
r1 | julianfoad | 2010-06-15 18:25:29 +0100 (Tue, 15 Jun 2010)
Changed paths:
    A /file.txt
------------------------------------------------------------------------

The history of file3.txt doesn't include r3: in r4 it was copied from
r2.  r3 does contain a 'file.txt' that is connected to file3....@4 by a
common ancestor, but I don't think we intend that to be the result of
this query.

It seems to me it already works as intended.  What do you think?

When I specify
svn cat ^/file3....@4 -r3
that means I like the content of the file named file3.txt as it was located in r4, but as it looked in r3. I think that's what a peg revision is for: I want to look at a path in an earlier revision where I have no idea what location it has in that revision, so I give the peg revision for the path I know in that revision.

since ^/file3....@4 existed in r3 (it was named file.txt in r3), I think that command has to work. Otherwise what's the point of peg revisions? If I have to first check the whole log to find the name of the file in the revision I want, I don't need peg revisions.

So I really think even though this might be intended, it's not what users (and me neither) expect.

Stefan

--
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net

Reply via email to