# HG changeset patch # User Yuya Nishihara # Date 2018-01-21 07:03:14 # Node ID 1abf089a1d7009f0077af7a6e6dbab4e0ab249c9 # Parent 513d268eddfe9b6db16c2d87257b6a3a9d3440df graphlog: deduplicate preprocessing of log command diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -3424,7 +3424,6 @@ def log(ui, repo, *pats, **opts): if opts.get('graph'): if linerange: raise error.Abort(_('graph not supported with line range patterns')) - return logcmdutil.graphlog(ui, repo, revs, differ, opts) if linerange: revs, differ = logcmdutil.getlinerangerevs(repo, revs, opts) @@ -3439,6 +3438,10 @@ def log(ui, repo, *pats, **opts): ui.pager('log') displayer = logcmdutil.changesetdisplayer(ui, repo, opts, differ, buffered=True) + if opts.get('graph'): + logcmdutil.graphlog(ui, repo, revs, displayer, getrenamed) + return + for rev in revs: ctx = repo[rev] copies = None diff --git a/mercurial/logcmdutil.py b/mercurial/logcmdutil.py --- a/mercurial/logcmdutil.py +++ b/mercurial/logcmdutil.py @@ -899,19 +899,8 @@ def displaygraph(ui, repo, dag, displaye lines = [] displayer.close() -def graphlog(ui, repo, revs, differ, opts): - # Parameters are identical to log command ones +def graphlog(ui, repo, revs, displayer, getrenamed): revdag = graphmod.dagwalker(repo, revs) - - getrenamed = None - if opts.get('copies'): - endrev = None - if opts.get('rev'): - endrev = scmutil.revrange(repo, opts.get('rev')).max() + 1 - getrenamed = templatekw.getrenamedfn(repo, endrev=endrev) - - ui.pager('log') - displayer = changesetdisplayer(ui, repo, opts, differ, buffered=True) displaygraph(ui, repo, revdag, displayer, graphmod.asciiedges, getrenamed) def checkunsupportedgraphflags(pats, opts):