12 revision graph is also shown. |
12 revision graph is also shown. |
13 ''' |
13 ''' |
14 |
14 |
15 from mercurial.cmdutil import show_changeset |
15 from mercurial.cmdutil import show_changeset |
16 from mercurial.i18n import _ |
16 from mercurial.i18n import _ |
17 from mercurial import cmdutil, commands, extensions, scmutil |
17 from mercurial import cmdutil, commands, extensions |
18 from mercurial import hg, util, graphmod, templatekw |
18 from mercurial import hg, util, graphmod |
19 |
19 |
20 cmdtable = {} |
20 cmdtable = {} |
21 command = cmdutil.command(cmdtable) |
21 command = cmdutil.command(cmdtable) |
22 testedwith = 'internal' |
22 testedwith = 'internal' |
23 |
23 |
57 ASCII characters. |
57 ASCII characters. |
58 |
58 |
59 Nodes printed as an @ character are parents of the working |
59 Nodes printed as an @ character are parents of the working |
60 directory. |
60 directory. |
61 """ |
61 """ |
62 |
62 return cmdutil.graphlog(ui, repo, *pats, **opts) |
63 revs, expr, filematcher = cmdutil.getgraphlogrevs(repo, pats, opts) |
|
64 revs = sorted(revs, reverse=1) |
|
65 limit = cmdutil.loglimit(opts) |
|
66 if limit is not None: |
|
67 revs = revs[:limit] |
|
68 revdag = graphmod.dagwalker(repo, revs) |
|
69 |
|
70 getrenamed = None |
|
71 if opts.get('copies'): |
|
72 endrev = None |
|
73 if opts.get('rev'): |
|
74 endrev = max(scmutil.revrange(repo, opts.get('rev'))) + 1 |
|
75 getrenamed = templatekw.getrenamedfn(repo, endrev=endrev) |
|
76 displayer = show_changeset(ui, repo, opts, buffered=True) |
|
77 showparents = [ctx.node() for ctx in repo[None].parents()] |
|
78 cmdutil.displaygraph(ui, revdag, displayer, showparents, |
|
79 graphmod.asciiedges, getrenamed, filematcher) |
|
80 |
63 |
81 def graphrevs(repo, nodes, opts): |
64 def graphrevs(repo, nodes, opts): |
82 limit = cmdutil.loglimit(opts) |
65 limit = cmdutil.loglimit(opts) |
83 nodes.reverse() |
66 nodes.reverse() |
84 if limit is not None: |
67 if limit is not None: |
127 |
110 |
128 hg._incoming(display, subreporecurse, ui, repo, source, opts, buffered=True) |
111 hg._incoming(display, subreporecurse, ui, repo, source, opts, buffered=True) |
129 |
112 |
130 def uisetup(ui): |
113 def uisetup(ui): |
131 '''Initialize the extension.''' |
114 '''Initialize the extension.''' |
132 _wrapcmd('log', commands.table, graphlog) |
|
133 _wrapcmd('incoming', commands.table, gincoming) |
115 _wrapcmd('incoming', commands.table, gincoming) |
134 _wrapcmd('outgoing', commands.table, goutgoing) |
116 _wrapcmd('outgoing', commands.table, goutgoing) |
135 |
117 |
136 def _wrapcmd(cmd, table, wrapfn): |
118 def _wrapcmd(cmd, table, wrapfn): |
137 '''wrap the command''' |
119 '''wrap the command''' |