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.
{header}
<title>{repo|escape}: searching for {query|escape}</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
<a href="{logourl}">
<img src="{staticurl|urlescape}{logoimg}" width=75 height=90 border=0 alt="mercurial"></a>
</div>
<ul>
<li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">log</a></li>
<li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li>
<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li>
<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li>
</ul>
<ul>
<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>
</ul>
</div>
<div class="main">
<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2>
<h3>searching for '{query|escape}'</h3>
<p>
Assuming {modedesc}.
{if(showforcekw, '<a href="{url|urlescape}log?rev={query|urlescape}&forcekw=1">
Use {showforcekw}</a> instead.')}
{if(showunforcekw, '<a href="{url|urlescape}log?rev={query|urlescape}">
Use {showunforcekw}</a> instead.')}
</p>
{searchform}
<div class="navigate">
<a href="{url|urlescape}log{lessvars%urlparameter}">less</a>
<a href="{url|urlescape}log{morevars%urlparameter}">more</a>
</div>
<table class="bigtable">
<thead>
<tr>
<th class="age">age</th>
<th class="author">author</th>
<th class="description">description</th>
</tr>
</thead>
<tbody class="stripes2">
{entries%changelogentry}
</tbody>
</table>
<div class="navigate">
<a href="{url|urlescape}log{lessvars%urlparameter}">less</a>
<a href="{url|urlescape}log{morevars%urlparameter}">more</a>
</div>
</div>
</div>
{footer}