diff --git a/hgext3rd/smartlog.py b/hgext3rd/smartlog.py --- a/hgext3rd/smartlog.py +++ b/hgext3rd/smartlog.py @@ -52,6 +52,19 @@ from mercurial import node as nodemod from mercurial.i18n import _ +try: + # >= 4.6 + from mercurial import logcmdutil + changesetprinter = logcmdutil.changesetprinter + changesettemplater = logcmdutil.changesettemplater + displaygraph = logcmdutil.displaygraph + csdisplayer = logcmdutil.changesetdisplayer +except ImportError: + changesetprinter = cmdutil.changeset_printer + changesettemplater = cmdutil.changeset_templater + displaygraph = cmdutil.displaygraph + csdisplayer = cmdutil.show_changeset + cmdtable = {} command = registrar.command(cmdtable) testedwith = 'ships-with-fb-hgext' @@ -127,8 +140,8 @@ self.ui.write('\n') return res - extensions.wrapfunction(cmdutil.changeset_printer, '_show', show) - extensions.wrapfunction(cmdutil.changeset_templater, '_show', show) + extensions.wrapfunction(changesetprinter, '_show', show) + extensions.wrapfunction(changesettemplater, '_show', show) def ascii(orig, ui, state, type, char, text, coldata): if type == 'F': @@ -628,9 +641,10 @@ overrides[('experimental', 'graphstyle.grandparent')] = '2.' with ui.configoverride(overrides, 'smartlog'): revdag = getdag(ui, repo, revs, masterrev) - displayer = cmdutil.show_changeset(ui, repo, opts, buffered=True) + displayer = csdisplayer(ui, repo, opts, buffered=True) + ui.pager('smartlog') - cmdutil.displaygraph( + displaygraph( ui, repo, revdag, displayer, graphmod.asciiedges, None, None) try: