##// END OF EJS Templates
branchmap: remove the dict interface from the branchcache class (API)...
branchmap: remove the dict interface from the branchcache class (API) The current branchmap computation involves reading the whole branchmap from disk, validating all the nodes even if they are not required. This leads to a lot of time on repos which have large branchmap or a lot of branches. On large repos, this can validate around 1000's of nodes. On some operations, like finding whether a branch exists or not, we don't need to validate all the nodes. Or updating heads for a single branch. Before this patch, branchcache class was having dict interface and it was hard to keep track of reads. This patch removes the dict interface. Upcoming patches will implement lazy loading and validation of data and implement better API's. Differential Revision: https://phab.mercurial-scm.org/D6151

File last commit:

r34398:765eb17a default
r42168:624d6683 default
Show More
__init__.py
71 lines | 1.1 KiB | text/x-python | PythonLexer
from __future__ import absolute_import, division, print_function
from ._funcs import (
asdict,
assoc,
astuple,
evolve,
has,
)
from ._make import (
Attribute,
Factory,
NOTHING,
attr,
attributes,
fields,
make_class,
validate,
)
from ._config import (
get_run_validators,
set_run_validators,
)
from . import exceptions
from . import filters
from . import converters
from . import validators
__version__ = "17.2.0"
__title__ = "attrs"
__description__ = "Classes Without Boilerplate"
__uri__ = "http://www.attrs.org/"
__doc__ = __description__ + " <" + __uri__ + ">"
__author__ = "Hynek Schlawack"
__email__ = "hs@ox.cx"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2015 Hynek Schlawack"
s = attrs = attributes
ib = attrib = attr
__all__ = [
"Attribute",
"Factory",
"NOTHING",
"asdict",
"assoc",
"astuple",
"attr",
"attrib",
"attributes",
"attrs",
"converters",
"evolve",
"exceptions",
"fields",
"filters",
"get_run_validators",
"has",
"ib",
"make_class",
"s",
"set_run_validators",
"validate",
"validators",
]