On 11/10/2010 2:05 PM, Klaus Ganser wrote:
> On Wed, Nov 10, 2010 at 11:48 AM, Les Mikesell<lesmikesell_at_gmail.com> wrote:
>> If something is deleted and recreated there is no history connecting them
>> even if those things have the same name, so what you are asking for doesn't
>> really exist. Maybe you could 'svn log -v' a parent or the top level of the
>> repo and parse out the deletes/adds you want to see.
>
> Running `svn log` on the top level of the repository is one of the
> solutions proposed to my stackoverflow question. However, this is
> extremely inefficient for large repositories with long histories. You
> can imagine implementing a visualization tool that lets you zero-in on
> a specific path and see what has lived there at any point between
> revision 1 and HEAD. It would be absurd if the command to generate a
> view of this one path took as long as the command to view the history
> of the entire repository. I'm saying that this is a valid use-case
> that the svn cli does not currently satisfy, but one which it could
> easily satisfy because it stores all the necessary information. As a
> client, this should be as easy for me as something like this:
>
> `svn log -v --path ...`
>
> where the --path option would tell svn to stick to that path, not to
> the pegged revision currently at that path.
Given that svn only stores history of something for the time it exists,
maybe there is a better way to use it for your purpose than deleting and
recreating things you want it to track. From svn's perspective there is
no history and the fact that the old thing and the new thing have the
same name is just coincidental. If you want to maintain a history,
maybe you could move the thing instead of deleting and when you move it
back the object's history will traverse the move.
Without a history to follow, svn can only look everywhere for adds and
deletes (I think...) which can't be very efficient.
--
Les Miksell
lesmikesell_at_gmail.com
Received on 2010-11-10 21:25:56 CET