[Josip Rodin]
> % svn log -v -r 3006 | grep foo.php
>    M /full/path/foo.php
> 
> % svn log -v -r 3006 foo.php
> svn: Unable to find repository location for 
> 'https://correct.host/svn/full/path/foo.php' in revision 3006
[...]
> I'm thinking that the problem in my case is that in revision 3123 I
> replaced foo.php with a symbolic link. 'svn log' with no arguments
> for that file now shows only that revision.

You're correct, svn considers foo.php the file and foo.php the symlink
to be two unrelated files that have had the same name.

To tell it where in history to look for the file of a particular name,
what you want is a peg revision and a URL (or URL equivalent, using ^/
to represent the top of the repository tree).  A peg revision uses
u...@rev syntax, and generally defaults to HEAD for a URL.

    % svn log -v -r3006 ^/full/path/foo....@3006

Here, @3006 means "history of which file?" and r3006 means "which part
of the history?"  Alternatively if it offends you to have to type 3006
twice, note that -r has a default of "3006:1":

    % svn log -v --limit=1 ^/full/path/foo....@3006

Peg revisions trip a lot of people up and in hindsight I think many of
us wish they'd been introduced with a more obvious syntax, or that they
defaulted to the operative revision (the -r argument) rather than HEAD.
There are good arguments both ways as to whether the default should
have been HEAD (or, for a working copy path, BASE, i.e., the revision
at which the working copy path is checked out).

> So it looks like there is no obvious way to go back in history and
> explicitly look at a lifespan of a particular file that doesn't match
> its current lifespan.

Agreed, depending on your definition of "obvious".
-- 
Peter Samuelson | org-tld!p12n!peter | http://p12n.org/



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to