##// END OF EJS Templates
unbundle: free temporary objects after use...
unbundle: free temporary objects after use This reduces peak RSS for larger unbundle operations by ~30 Bytes per changeset on AMD64. This can't be a direct delete for Python 2.7, so reset the object instead and leave a comment. The efilesset object can't be deleted as it is referenced by the local onchangelog function and Python 2.7 rejects a delete on the existance of a nested scope. Differential Revision: https://phab.mercurial-scm.org/D9153

File last commit:

r43346:2372284d default
r46321:44d84b72 default
Show More
revnamesext.py
21 lines | 576 B | text/x-python | PythonLexer
# Dummy extension to define a namespace containing revision names
from __future__ import absolute_import
from mercurial import namespaces
def reposetup(ui, repo):
names = {b'r%d' % rev: repo[rev].node() for rev in repo}
namemap = lambda r, name: names.get(name)
nodemap = lambda r, node: [b'r%d' % repo[node].rev()]
ns = namespaces.namespace(
b'revnames',
templatename=b'revname',
logname=b'revname',
listnames=lambda r: names.keys(),
namemap=namemap,
nodemap=nodemap,
)
repo.names.addnamespace(ns)