# HG changeset patch # User Gregory Szorc # Date 2017-06-24 18:47:26 # Node ID 99c6c9fa9e6d0aa4d721e96b2629f77c97e0a464 # Parent 1d2b689529502ffbe9a2f4ff51ff8371b7f5a1b7 cmdutil: use named arguments for changeset_templater.__init__ This will make the API more extensible and easier to use. diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -1577,7 +1577,12 @@ class jsonchangeset(changeset_printer): class changeset_templater(changeset_printer): '''format changeset information.''' - def __init__(self, ui, repo, tmplspec, matchfn, diffopts, buffered): + # Arguments before "buffered" used to be positional. Consider not + # adding/removing arguments before "buffered" to not break callers. + def __init__(self, ui, repo, tmplspec, matchfn=None, diffopts=None, + buffered=False): + diffopts = diffopts or {} + changeset_printer.__init__(self, ui, repo, matchfn, diffopts, buffered) self.t = formatter.loadtemplater(ui, tmplspec, cache=templatekw.defaulttempl) @@ -1694,8 +1699,7 @@ def _lookuplogtemplate(ui, tmpl, style): def makelogtemplater(ui, repo, tmpl, buffered=False): """Create a changeset_templater from a literal template 'tmpl'""" spec = logtemplatespec(tmpl, None) - return changeset_templater(ui, repo, spec, matchfn=None, diffopts={}, - buffered=buffered) + return changeset_templater(ui, repo, spec, buffered=buffered) def show_changeset(ui, repo, opts, buffered=False): """show one changeset using template or regular display.