You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Daniel Patterson <da...@danpat.net> on 2004/10/12 11:09:39 UTC

Branch graphing tool

Hello all,

  I've whipped up a quick tool to draw graphs of branches of things
  from a Subversion repository.  It uses the Perl SWIG bindings.

  Output is GraphViz "dot" format.

  It's available here (it's quite short):

    http://danpat.net/~danpat/svn-graph/svn-graph.pl

  I ran it against the Subversion repository, and the output is:

    http://danpat.net/~danpat/svn-graph/graph.dot
    http://danpat.net/~danpat/svn-graph/graph.png [warning: 19908x1073 
pixels, 120kb 2 bit]

  The far right of the image is quite interesting (all the 1.1.x release 
branching and tagging).

  There is still quite a lot of noise, and the representation of how 
things are branched
  from "/trunk" is far from optimal (hence the great big flat diagram), 
but it's a start.

  In theory, you should be able to run it against any node you like, it 
knows nothing about
  /tags, /branches, etc, it's just following copyfrom history.

  On the todo list:
    - generate "codelines" and show all revisions
    - work out if things are branches or tags (tags don't change?) and 
draw them different
    - make branches appear off a codeline at the right place, not all 
from "/trunk"
    - work out how to handle mixed-revision branches....(ignore contents?)
    - understand parent copies when looking at a node deeper in the tree
      (i.e. show graph of /trunk/asdf/foo, works when svn cp /trunk 
/branches/release_1_prep)
    - double-links appearing (blindly pushing already stored nodes....)

daniel

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Branch graphing tool

Posted by Tobias Ringström <to...@ringstrom.mine.nu>.
Andy Whitcroft wrote:

> Also highlights an interesting inconsitancy in the way we are cutting 
> the older releases.  I'd have expected each and every 1.0.x release to 
> be branched and tagged from the 1.0.x branch, it seems that every 
> other one is taken from there?  I'm sure it makes no difference, but 
> it caught my eye.

What you see is that the security releases are handled differently from 
normal releases. This happens because there may be changes merged to the 
1.0.x branch that are intended for the next non-secuirity release, and 
since a security release is only supposed to contain security fixes, it 
is branched from the last release tag.

/Tobias


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Branch graphing tool

Posted by Andy Whitcroft <ap...@shadowen.org>.
Daniel Patterson wrote:

>  The far right of the image is quite interesting (all the 1.1.x release 
> branching and tagging).

Also highlights an interesting inconsitancy in the way we are cutting 
the older releases.  I'd have expected each and every 1.0.x release to 
be branched and tagged from the 1.0.x branch, it seems that every other 
one is taken from there?  I'm sure it makes no difference, but it caught 
my eye.

-apw

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org