Steve King wrote:
> I'm sorry, but it doesn't. Subversion doesn't store 'forward copies'
> (copied to) in the repository. And these are needed to have a reliable
> graph. Subversion only stores 'backward copies' (copied from).
> Sure, you can search the whole log from the repository root (that's what
> TSVN does), but when you find a 'copied from' entry, you have to
> reconstruct the 'from' part which (especially with renames, not simple
> copies) can point to non-existing entries.
Yes, that's exactly what I meant when I said "but you need to
traverse every revision". All the information you need is there,
it's just expensive to get at right now.
You can avoid the the "non-existing entries" problem by constructing
a complete revision tree in memory as you traverse history
(which is what my script does). So when someone does a copy
from an old point in the repository that has since been deleted,
it'll be there in your tree.
> I've tried your script when you first released it. It worked ok for the
> Subversion trunk, but fails in many other places. Also, the GraphViz
> engine doesn't draw the graph really nice, so it's hard to see a
> straight line of development.
Have you tried it again recently? I did a complete revamp, and
although it's still slow (and will remain that way until we
get indexed svn_ra_get_children() or something), I'm pretty
confident that it'll follow all the copies properly.
If it doesn't, can you produce a recipe where it doesn't work?
I'd like to fix it.
> Actually, it takes a lot more time. The 'svn log -v REPOSROOT' is just
> the part where you fetch the information. But the GraphViz tool also
> needs a *lot* of time to generate the graph.
Yes, I guess that's true, call me an optimist :-) I kind of consider
the problem solved once the graph has been calculated. The fact
that GraphViz takes ages to lay it out is a mere implementation detail :)
Given that GraphViz is a generic layout tool, I'm sure that an app
written specifically to layout these version tree graphs could be
pretty quick.
daniel
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Tue May 24 08:59:51 2005