mercurial/cmdutil.py
changeset 32839 b425ec7fb7f6
parent 32838 615ec3f14aa9
child 32840 57c13c0d1cde
equal deleted inserted replaced
32838:615ec3f14aa9 32839:b425ec7fb7f6
  1576         self.ui.write("\n }")
  1576         self.ui.write("\n }")
  1577 
  1577 
  1578 class changeset_templater(changeset_printer):
  1578 class changeset_templater(changeset_printer):
  1579     '''format changeset information.'''
  1579     '''format changeset information.'''
  1580 
  1580 
  1581     def __init__(self, ui, repo, matchfn, diffopts, tmpl, mapfile, buffered):
  1581     def __init__(self, ui, repo, tmplspec, matchfn, diffopts, buffered):
  1582         changeset_printer.__init__(self, ui, repo, matchfn, diffopts, buffered)
  1582         changeset_printer.__init__(self, ui, repo, matchfn, diffopts, buffered)
  1583         tmplspec = logtemplatespec(tmpl, mapfile)
       
  1584         self.t = formatter.loadtemplater(ui, 'changeset', tmplspec,
  1583         self.t = formatter.loadtemplater(ui, 'changeset', tmplspec,
  1585                                          cache=templatekw.defaulttempl)
  1584                                          cache=templatekw.defaulttempl)
  1586         self._counter = itertools.count()
  1585         self._counter = itertools.count()
  1587         self.cache = {}
  1586         self.cache = {}
  1588 
  1587 
  1677 
  1676 
  1678     return formatter.lookuptemplate(ui, 'changeset', tmpl)
  1677     return formatter.lookuptemplate(ui, 'changeset', tmpl)
  1679 
  1678 
  1680 def makelogtemplater(ui, repo, tmpl, buffered=False):
  1679 def makelogtemplater(ui, repo, tmpl, buffered=False):
  1681     """Create a changeset_templater from a literal template 'tmpl'"""
  1680     """Create a changeset_templater from a literal template 'tmpl'"""
  1682     return changeset_templater(ui, repo, matchfn=None, diffopts={},
  1681     spec = logtemplatespec(tmpl, None)
  1683                                tmpl=tmpl, mapfile=None, buffered=buffered)
  1682     return changeset_templater(ui, repo, spec, matchfn=None, diffopts={},
       
  1683                                buffered=buffered)
  1684 
  1684 
  1685 def show_changeset(ui, repo, opts, buffered=False):
  1685 def show_changeset(ui, repo, opts, buffered=False):
  1686     """show one changeset using template or regular display.
  1686     """show one changeset using template or regular display.
  1687 
  1687 
  1688     Display format will be the first non-empty hit of:
  1688     Display format will be the first non-empty hit of:
  1700 
  1700 
  1701     if opts.get('template') == 'json':
  1701     if opts.get('template') == 'json':
  1702         return jsonchangeset(ui, repo, matchfn, opts, buffered)
  1702         return jsonchangeset(ui, repo, matchfn, opts, buffered)
  1703 
  1703 
  1704     spec = _lookuplogtemplate(ui, opts.get('template'), opts.get('style'))
  1704     spec = _lookuplogtemplate(ui, opts.get('template'), opts.get('style'))
  1705     tmpl, mapfile = spec
  1705 
  1706 
  1706     if not spec.tmpl and not spec.mapfile:
  1707     if not tmpl and not mapfile:
       
  1708         return changeset_printer(ui, repo, matchfn, opts, buffered)
  1707         return changeset_printer(ui, repo, matchfn, opts, buffered)
  1709 
  1708 
  1710     return changeset_templater(ui, repo, matchfn, opts, tmpl, mapfile, buffered)
  1709     return changeset_templater(ui, repo, spec, matchfn, opts, buffered)
  1711 
  1710 
  1712 def showmarker(fm, marker, index=None):
  1711 def showmarker(fm, marker, index=None):
  1713     """utility function to display obsolescence marker in a readable way
  1712     """utility function to display obsolescence marker in a readable way
  1714 
  1713 
  1715     To be used by debug function."""
  1714     To be used by debug function."""
  2952 
  2951 
  2953     return text
  2952     return text
  2954 
  2953 
  2955 def buildcommittemplate(repo, ctx, subs, extramsg, tmpl):
  2954 def buildcommittemplate(repo, ctx, subs, extramsg, tmpl):
  2956     ui = repo.ui
  2955     ui = repo.ui
  2957     tmpl, mapfile = _lookuplogtemplate(ui, tmpl, None)
  2956     spec = _lookuplogtemplate(ui, tmpl, None)
  2958 
  2957     t = changeset_templater(ui, repo, spec, None, {}, False)
  2959     t = changeset_templater(ui, repo, None, {}, tmpl, mapfile, False)
       
  2960 
  2958 
  2961     for k, v in repo.ui.configitems('committemplate'):
  2959     for k, v in repo.ui.configitems('committemplate'):
  2962         if k != 'changeset':
  2960         if k != 'changeset':
  2963             t.t.cache[k] = v
  2961             t.t.cache[k] = v
  2964 
  2962