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