Mercurial > public > mercurial-scm > hg
comparison mercurial/unionrepo.py @ 51822:0338fb200a30
typing: lock in new pytype gains from making revlog related classes typeable
These were pretty clean changes in the pyi files from earlier in this series, so
add them to the code to make it more understandable.
There's one more trivial hint that can be added to the return of
`mercurial.revlogutils.rewrite._filelog_from_filename()`, however it needs to be
imported from '..' under the conditional of `typing.TYPE_CHECKING`, and that
seems to confuse the import checker- possibly because there's already an import
block from that level. (I would have expected a message about multiple import
statements in this case, but got one about higher level imports should come
first, no matter where I put the import statement.)
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Wed, 21 Aug 2024 22:15:05 -0400 |
parents | 861fe9273d57 |
children | f4733654f144 |
comparison
equal
deleted
inserted
replaced
51821:766c55492258 | 51822:0338fb200a30 |
---|---|
202 changelog2 = changelog.changelog(opener2) | 202 changelog2 = changelog.changelog(opener2) |
203 unionrevlog.__init__(self, opener, self.radix, changelog2, linkmapper) | 203 unionrevlog.__init__(self, opener, self.radix, changelog2, linkmapper) |
204 | 204 |
205 | 205 |
206 class unionmanifest(unionrevlog, manifest.manifestrevlog): | 206 class unionmanifest(unionrevlog, manifest.manifestrevlog): |
207 repotiprev: int | |
208 revlog2: manifest.ManifestRevlog | |
209 | |
207 def __init__(self, nodeconstants, opener, opener2, linkmapper): | 210 def __init__(self, nodeconstants, opener, opener2, linkmapper): |
208 # XXX manifestrevlog is not actually a revlog , so mixing it with | 211 # XXX manifestrevlog is not actually a revlog , so mixing it with |
209 # bundlerevlog is not a good idea. | 212 # bundlerevlog is not a good idea. |
210 manifest.manifestrevlog.__init__(self, nodeconstants, opener) | 213 manifest.manifestrevlog.__init__(self, nodeconstants, opener) |
211 manifest2 = manifest.manifestrevlog(nodeconstants, opener2) | 214 manifest2 = manifest.manifestrevlog(nodeconstants, opener2) |
213 self, opener, self._revlog.radix, manifest2, linkmapper | 216 self, opener, self._revlog.radix, manifest2, linkmapper |
214 ) | 217 ) |
215 | 218 |
216 | 219 |
217 class unionfilelog(filelog.filelog): | 220 class unionfilelog(filelog.filelog): |
221 _revlog: unionrevlog | |
222 repotiprev: int | |
223 revlog2: revlog.revlog | |
224 | |
218 def __init__(self, opener, path, opener2, linkmapper, repo): | 225 def __init__(self, opener, path, opener2, linkmapper, repo): |
219 filelog.filelog.__init__(self, opener, path) | 226 filelog.filelog.__init__(self, opener, path) |
220 filelog2 = filelog.filelog(opener2, path) | 227 filelog2 = filelog.filelog(opener2, path) |
221 self._revlog = unionrevlog( | 228 self._revlog = unionrevlog( |
222 opener, self._revlog.radix, filelog2._revlog, linkmapper | 229 opener, self._revlog.radix, filelog2._revlog, linkmapper |