mercurial/logcmdutil.py
changeset 37773 0f084741cd66
parent 37772 814151cd8c4a
child 37837 e0f30c91dfd8
equal deleted inserted replaced
37772:814151cd8c4a 37773:0f084741cd66
   308         if diff:
   308         if diff:
   309             self._differ.showdiff(self.ui, ctx, diffopts, stat=False)
   309             self._differ.showdiff(self.ui, ctx, diffopts, stat=False)
   310         if stat or diff:
   310         if stat or diff:
   311             self.ui.write("\n")
   311             self.ui.write("\n")
   312 
   312 
   313 class jsonchangeset(changesetprinter):
   313 class changesetformatter(changesetprinter):
   314     '''format changeset information.'''
   314     """Format changeset information by generic formatter"""
   315 
   315 
   316     def __init__(self, ui, repo, differ=None, diffopts=None, buffered=False):
   316     def __init__(self, ui, repo, fm, differ=None, diffopts=None,
       
   317                  buffered=False):
   317         changesetprinter.__init__(self, ui, repo, differ, diffopts, buffered)
   318         changesetprinter.__init__(self, ui, repo, differ, diffopts, buffered)
   318         self._fm = formatter.jsonformatter(ui, ui, 'log', {})
   319         self._fm = fm
   319 
   320 
   320     def close(self):
   321     def close(self):
   321         self._fm.end()
   322         self._fm.end()
   322 
   323 
   323     def _show(self, ctx, copies, props):
   324     def _show(self, ctx, copies, props):
   517     If all of these values are either the unset or the empty string,
   518     If all of these values are either the unset or the empty string,
   518     regular display via changesetprinter() is done.
   519     regular display via changesetprinter() is done.
   519     """
   520     """
   520     postargs = (differ, opts, buffered)
   521     postargs = (differ, opts, buffered)
   521     if opts.get('template') == 'json':
   522     if opts.get('template') == 'json':
   522         return jsonchangeset(ui, repo, *postargs)
   523         fm = ui.formatter('log', opts)
       
   524         return changesetformatter(ui, repo, fm, *postargs)
   523 
   525 
   524     spec = _lookuptemplate(ui, opts.get('template'), opts.get('style'))
   526     spec = _lookuptemplate(ui, opts.get('template'), opts.get('style'))
   525 
   527 
   526     if not spec.ref and not spec.tmpl and not spec.mapfile:
   528     if not spec.ref and not spec.tmpl and not spec.mapfile:
   527         return changesetprinter(ui, repo, *postargs)
   529         return changesetprinter(ui, repo, *postargs)