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