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

Branch graphing tool

From: Daniel Patterson <danpat_at_danpat.net>
Date: 2004-10-12 22:56:35 CEST

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
Received on Tue Oct 12 22:59:18 2004

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

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