contrib/asv.conf.json
author Matt Harbison <matt_harbison@yahoo.com>
Wed, 18 Sep 2024 17:50:57 -0400
changeset 51870 9d4ad05bc91c
parent 30406 cff0f5926797
permissions -rw-r--r--
typing: make `bundlerepository` subclass `localrepository` while type checking Currently, `mercurial/bundlerepo.py` is excluded from pytype, mostly because it complains that various `ui` and `vfs` fields in `localrepository` are missing. (`bundlerepository` dynamically subclasses `localrepository` when it is instantiated, so it works at runtime.) This makes that class hierarchy known to pytype. Having a protocol for `Repository` is probably the right thing to do, but that will be a lot of work and this still reflects the class at runtime. Subclassing also has the benefit of making sure any method overrides have a matching signature, so maybe this is a situation where we do both of these things. (I'm not sure how clear the diagnostics are if a class *almost* implements a protocol, but is missing a method argument or similar.) The subclassing is not done outside of type checking runs to avoid any side effects on already complex code.

{
    "version": 1,
    "project": "mercurial",
    "project_url": "https://mercurial-scm.org/",
    "repo": "..",
    "branches": ["default", "stable"],
    "environment_type": "virtualenv",
    "show_commit_url": "https://www.mercurial-scm.org/repo/hg/rev/",
    "benchmark_dir": "benchmarks",
    "env_dir": "../.asv/env",
    "results_dir": "../.asv/results",
    "html_dir": "../.asv/html"
}