logcmdutil: make default parameters of changesetprinters consistent
authorYuya Nishihara <yuya@tcha.org>
Sun, 21 Jan 2018 13:47:06 +0900
changeset 35953 64f4a6808704
parent 35952 9e641c4525a2
child 35954 386c1e45e671
logcmdutil: make default parameters of changesetprinters consistent
mercurial/logcmdutil.py
--- a/mercurial/logcmdutil.py	Sun Feb 04 10:33:14 2018 +0900
+++ b/mercurial/logcmdutil.py	Sun Jan 21 13:47:06 2018 +0900
@@ -122,12 +122,12 @@
 class changesetprinter(object):
     '''show changeset information when templating not requested.'''
 
-    def __init__(self, ui, repo, matchfn, diffopts, buffered):
+    def __init__(self, ui, repo, matchfn=None, diffopts=None, buffered=False):
         self.ui = ui
         self.repo = repo
         self.buffered = buffered
         self.matchfn = matchfn
-        self.diffopts = diffopts
+        self.diffopts = diffopts or {}
         self.header = {}
         self.hunk = {}
         self.lastheader = None
@@ -290,7 +290,7 @@
 class jsonchangeset(changesetprinter):
     '''format changeset information.'''
 
-    def __init__(self, ui, repo, matchfn, diffopts, buffered):
+    def __init__(self, ui, repo, matchfn=None, diffopts=None, buffered=False):
         changesetprinter.__init__(self, ui, repo, matchfn, diffopts, buffered)
         self.cache = {}
         self._first = True
@@ -399,8 +399,6 @@
     # adding/removing arguments before "buffered" to not break callers.
     def __init__(self, ui, repo, tmplspec, matchfn=None, diffopts=None,
                  buffered=False):
-        diffopts = diffopts or {}
-
         changesetprinter.__init__(self, ui, repo, matchfn, diffopts, buffered)
         tres = formatter.templateresources(ui, repo)
         self.t = formatter.loadtemplater(ui, tmplspec,