mercurial/logcmdutil.py
changeset 43100 90b9a7e06c2c
parent 43077 687b865b95ad
child 43102 829088e87032
equal deleted inserted replaced
43099:f1c5358f0d65 43100:90b9a7e06c2c
   615             ) or templater.templatepath(mapfile)
   615             ) or templater.templatepath(mapfile)
   616             if mapname:
   616             if mapname:
   617                 mapfile = mapname
   617                 mapfile = mapname
   618         return templatespec(None, mapfile)
   618         return templatespec(None, mapfile)
   619 
   619 
   620     if not tmpl:
       
   621         return templatespec(None, None)
       
   622 
       
   623     return formatter.lookuptemplate(ui, b'changeset', tmpl)
   620     return formatter.lookuptemplate(ui, b'changeset', tmpl)
   624 
   621 
   625 
   622 
   626 def maketemplater(ui, repo, tmpl, buffered=False):
   623 def maketemplater(ui, repo, tmpl, buffered=False):
   627     """Create a changesettemplater from a literal template 'tmpl'
   624     """Create a changesettemplater from a literal template 'tmpl'
   640     4. [ui] setting 'style'
   637     4. [ui] setting 'style'
   641     If all of these values are either the unset or the empty string,
   638     If all of these values are either the unset or the empty string,
   642     regular display via changesetprinter() is done.
   639     regular display via changesetprinter() is done.
   643     """
   640     """
   644     postargs = (differ, opts, buffered)
   641     postargs = (differ, opts, buffered)
   645     if opts.get(b'template') in {b'cbor', b'json'}:
   642     spec = _lookuptemplate(ui, opts.get(b'template'), opts.get(b'style'))
       
   643 
       
   644     # machine-readable formats have slightly different keyword set than
       
   645     # plain templates, which are handled by changesetformatter.
       
   646     # note that {b'pickle', b'debug'} can also be added to the list if needed.
       
   647     if spec.ref in {b'cbor', b'json'}:
   646         fm = ui.formatter(b'log', opts)
   648         fm = ui.formatter(b'log', opts)
   647         return changesetformatter(ui, repo, fm, *postargs)
   649         return changesetformatter(ui, repo, fm, *postargs)
   648 
       
   649     spec = _lookuptemplate(ui, opts.get(b'template'), opts.get(b'style'))
       
   650 
   650 
   651     if not spec.ref and not spec.tmpl and not spec.mapfile:
   651     if not spec.ref and not spec.tmpl and not spec.mapfile:
   652         return changesetprinter(ui, repo, *postargs)
   652         return changesetprinter(ui, repo, *postargs)
   653 
   653 
   654     return changesettemplater(ui, repo, spec, *postargs)
   654     return changesettemplater(ui, repo, spec, *postargs)