[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [TSVN] Re: Revision graph missed merge

From: SteveKing <steveking_at_gmx.ch>
Date: 2005-05-23 16:01:33 CEST

Daniel Patterson wrote:
> Simon Large wrote:
>
>>The revision graph is something of an incomplete feature, because
>>subversion doesn't supply all the information needed to give the full
>>picture. In fact it doesn't even supply enough information to do what
>>the rev graph already does, so there is a bit of guessing going on
>>internally.
>
> Actually, it does, but you need to traverse every revision
> in order to do that. The only thing that won't show up
> in the repository history is where merges occurred, unless you
> use a tool like "svnmerge.pl".

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.

> I'm not sure if anyone has looked, but I wrote a graphing tool
> that's in /tools/client-side/svn-graph.pl in the main subversion
> repository. From memory, it should follow the copy-history of
> any path in the tree (although it might not notice if a path
> deep inside a copy is being traced... I can't remember now. It's
> a bug if it doesn't). It seems to work OK if you point it at
> http://svn.collab.net/repos/svn/trunk.

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.

> It takes a while to run, particularly if your repository is
> a long way away. It takes about as long as "svn log -v REPOSROOT"
> would take.

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.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Mon May 23 16:01:57 2005

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.