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 |