Mercurial > hg
view pyproject.toml @ 49415:5fe7e9eda0f3
revlog: make _partialmatch fail fast on almost-hex inputs
Before this change, resolving a revision like [0123456789^] on
a large repo can take multiple seconds because:
- hg does not realize this is a revset, so it tries various things,
including _partialmatch(b"0123456789^")
- after the rust lookup fails, it falls back to pure hg
- pure hg takes all-but-last chars and converts them to binary,
which *succeeds*, so it does the expensive part.
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Mon, 15 Aug 2022 16:12:41 +0100 |
parents | 58fe6d127a01 |
children | d4b275587847 |
line wrap: on
line source
[build-system] requires = ["setuptools", "wheel"] [tool.black] line-length = 80 exclude = ''' build/ | wheelhouse/ | dist/ | packages/ | \.hg/ | \.mypy_cache/ | \.venv/ | mercurial/thirdparty/ ''' skip-string-normalization = true quiet = true