# HG changeset patch # User Yuya Nishihara # Date 1532867952 -32400 # Node ID 164827563426d1de6cb5d81f7d97f64d6cd1d8ce # Parent 409c42d6a5705ebaf33850ea4e91667b06ee903e templatekw: extract function that computes and caches file status diff -r 409c42d6a570 -r 164827563426 mercurial/templatekw.py --- a/mercurial/templatekw.py Thu Sep 13 22:32:51 2018 +0900 +++ b/mercurial/templatekw.py Sun Jul 29 21:39:12 2018 +0900 @@ -291,12 +291,16 @@ return _hybrid(f, extras, makemap, lambda k: '%s=%s' % (k, stringutil.escapestr(extras[k]))) -def _showfilesbystat(context, mapping, name, index): +def _getfilestatus(context, mapping): ctx = context.resource(mapping, 'ctx') revcache = context.resource(mapping, 'revcache') if 'files' not in revcache: revcache['files'] = ctx.p1().status(ctx)[:3] - files = revcache['files'][index] + return revcache['files'] + +def _showfilesbystat(context, mapping, name, index): + stat = _getfilestatus(context, mapping) + files = stat[index] return templateutil.compatfileslist(context, mapping, name, files) @templatekeyword('file_adds', requires={'ctx', 'revcache'})