Mercurial > hg-stable
diff mercurial/formatter.py @ 37108:e7bc0667c521
formatter: make 'originalnode' a thing in log-like templates
mapping['node'] doesn't work since {node} is computed dynamically in non-web
templates.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 17 Mar 2018 17:54:33 +0900 |
parents | 7db3c28dfdfd |
children | 8bb3899a0f47 |
line wrap: on
line diff
--- a/mercurial/formatter.py Sat Mar 17 17:41:07 2018 +0900 +++ b/mercurial/formatter.py Sat Mar 17 17:54:33 2018 +0900 @@ -514,8 +514,10 @@ mapping = {} if self._hasctx(newmapping): mapping['revcache'] = {} # per-ctx cache - if 'node' in origmapping and 'node' in newmapping: - mapping['originalnode'] = origmapping['node'] + if (('node' in origmapping or self._hasctx(origmapping)) + and ('node' in newmapping or self._hasctx(newmapping))): + orignode = templateutil.runsymbol(context, origmapping, 'node') + mapping['originalnode'] = orignode return mapping def _getsome(self, context, mapping, key):