hgext/graphlog.py
changeset 17181 6f71167292f2
parent 17180 ae0629161090
child 17182 cdf1532d89c6
equal deleted inserted replaced
17180:ae0629161090 17181:6f71167292f2
    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'''