Rev 3: slight refactoring to make redirecting easier. in http://bzr.arbash-meinel.com/plugins/kndx_to_dot
John Arbash Meinel
john at arbash-meinel.com
Tue Apr 10 22:35:06 BST 2007
At http://bzr.arbash-meinel.com/plugins/kndx_to_dot
------------------------------------------------------------
revno: 3
revision-id: john at arbash-meinel.com-20070410213503-9gnbqblwne0g6c4m
parent: john at arbash-meinel.com-20070410213046-fdhgsjivynwmvcbd
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: kndx_to_dot
timestamp: Tue 2007-04-10 16:35:03 -0500
message:
slight refactoring to make redirecting easier.
modified:
__init__.py __init__.py-20070410212739-0uwundx7uoho7f6n-1
-------------- next part --------------
=== modified file '__init__.py'
--- a/__init__.py 2007-04-10 21:30:46 +0000
+++ b/__init__.py 2007-04-10 21:35:03 +0000
@@ -74,10 +74,26 @@
except ValueError:
versions = versions[versions.index(start):]
+ self.generate_dot(kndx, short, version_idxs, versions, self.outf)
+
+ def make_short_name(self, version_idxs, version):
+ """Convert a revision id into a shorter name.
+
+ :param version_idxs: A dict mapping versions => offset
+ :param version: The version to shorten.
+ """
+ idx = version_idxs[version]
+ m = self._revision_id_re.match(version)
+ if m:
+ return "%s %s-%s-%s" % (idx, m.group('user'),
+ m.group('date'), m.group('tail'))
+ else:
+ return "%s %s" % (idx, version)
+
+ def generate_dot(self, kndx, short, version_idxs, versions, output):
self.outf.write('digraph T {\n'
' node [shape=box]\n'
)
-
for version in versions:
if short:
sversion = self.make_short_name(version_idxs, version)
@@ -90,30 +106,16 @@
else:
sparents = parents
if not parents:
- self.outf.write(' "%s"\n' % (sversion,))
+ output.write(' "%s"\n' % (sversion,))
else:
for sparent in sparents:
- self.outf.write(' "%s" -> "%s"\n' % (sparent, sversion))
+ output.write(' "%s" -> "%s"\n' % (sparent, sversion))
# elif len(parents) == 1:
# self.outf.write(' "%s" -> "%s"\n' % (sversion, sparents[0]))
# else:
# sparents = ' '.join('"%s"' % p for p in sparents)
# self.outf.write(' "%s" -> {%s}\n' % (sversion, sparents))
- self.outf.write('}\n')
-
- def make_short_name(self, version_idxs, version):
- """Convert a revision id into a shorter name.
-
- :param version_idxs: A dict mapping versions => offset
- :param version: The version to shorten.
- """
- idx = version_idxs[version]
- m = self._revision_id_re.match(version)
- if m:
- return "%s %s-%s-%s" % (idx, m.group('user'),
- m.group('date'), m.group('tail'))
- else:
- return "%s %s" % (idx, version)
+ output.write('}\n')
commands.register_command(cmd_kndx2dot)
More information about the bazaar-commits
mailing list