hgext/graphlog.py
changeset 8838 e89b05308d69
parent 8837 d8e3a98018cb
child 8839 bbfa21b6f18a
--- a/hgext/graphlog.py	Fri Jun 19 13:14:45 2009 +0200
+++ b/hgext/graphlog.py	Sat May 16 07:11:41 2009 +0200
@@ -20,6 +20,16 @@
 from mercurial import bundlerepo, changegroup, cmdutil, commands, extensions
 from mercurial import hg, url, util, graphmod
 
+def asciiformat(ui, repo, revdag, opts):
+    """formats a changelog DAG walk for ASCII output"""
+    showparents = [ctx.node() for ctx in repo[None].parents()]
+    displayer = show_changeset(ui, repo, opts, buffered=True)
+    for (ctx, parents) in revdag:
+        displayer.show(ctx)
+        lines = displayer.hunk.pop(ctx.rev()).split('\n')[:-1]
+        char = ctx.node() in showparents and '@' or 'o'
+        yield (ctx.rev(), parents, char, lines)
+
 def grapher(nodes):
     """grapher for asciigraph on a list of nodes and their parents
 
@@ -248,7 +258,7 @@
     else:
         revdag = graphmod.revisions(repo, start, stop)
 
-    graphdag = graphabledag(ui, repo, revdag, opts)
+    graphdag = asciiformat(ui, repo, revdag, opts)
     ascii(ui, grapher(graphdag))
 
 def graphrevs(repo, nodes, opts):
@@ -258,15 +268,6 @@
         nodes = nodes[:limit]
     return graphmod.nodes(repo, nodes)
 
-def graphabledag(ui, repo, revdag, opts):
-    showparents = [ctx.node() for ctx in repo[None].parents()]
-    displayer = show_changeset(ui, repo, opts, buffered=True)
-    for (ctx, parents) in revdag:
-        displayer.show(ctx)
-        lines = displayer.hunk.pop(ctx.rev()).split('\n')[:-1]
-        char = ctx.node() in showparents and '@' or 'o'
-        yield (ctx.rev(), parents, char, lines)
-
 def goutgoing(ui, repo, dest=None, **opts):
     """show the outgoing changesets alongside an ASCII revision graph
 
@@ -292,7 +293,7 @@
 
     o = repo.changelog.nodesbetween(o, revs)[0]
     revdag = graphrevs(repo, o, opts)
-    graphdag = graphabledag(ui, repo, revdag, opts)
+    graphdag = asciiformat(ui, repo, revdag, opts)
     ascii(ui, grapher(graphdag))
 
 def gincoming(ui, repo, source="default", **opts):
@@ -341,7 +342,7 @@
 
         chlist = other.changelog.nodesbetween(incoming, revs)[0]
         revdag = graphrevs(other, chlist, opts)
-        graphdag = graphabledag(ui, repo, revdag, opts)
+        graphdag = asciiformat(ui, repo, revdag, opts)
         ascii(ui, grapher(graphdag))
 
     finally: