# HG changeset patch # User Yuya Nishihara # Date 1516518194 -32400 # Node ID 1abf089a1d7009f0077af7a6e6dbab4e0ab249c9 # Parent 513d268eddfe9b6db16c2d87257b6a3a9d3440df graphlog: deduplicate preprocessing of log command diff -r 513d268eddfe -r 1abf089a1d70 mercurial/commands.py --- a/mercurial/commands.py Wed Feb 14 20:32:32 2018 +0800 +++ b/mercurial/commands.py Sun Jan 21 16:03:14 2018 +0900 @@ -3424,7 +3424,6 @@ 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 @@ 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 -r 513d268eddfe -r 1abf089a1d70 mercurial/logcmdutil.py --- a/mercurial/logcmdutil.py Wed Feb 14 20:32:32 2018 +0800 +++ b/mercurial/logcmdutil.py Sun Jan 21 16:03:14 2018 +0900 @@ -899,19 +899,8 @@ 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):