Mercurial > public > mercurial-scm > hg-stable
diff hgext/git/gitlog.py @ 52473:cdb45eb77efb
git: drop the zope `repository.ifilestorage` decoration on `gitlog.filelog`
The next logical step is to disable the conditional import of `zope` in the
`mercurial.interfaces.util` module, and just run with the no-op decorators.
But doing that then generates these pytype errors:
File "/mnt/c/Users/Matt/hg/hgext/git/gitlog.py", line 485, in read:
No attribute 'gitrepo' on filelog [attribute-error]
File "/mnt/c/Users/Matt/hg/hgext/git/gitlog.py", line 495, in lookup:
No attribute 'gitrepo' on filelog [attribute-error]
File "/mnt/c/Users/Matt/hg/hgext/git/gitlog.py", line 505, in add:
No attribute 'gitrepo' on filelog [attribute-error]
File "/mnt/c/Users/Matt/hg/hgext/git/gitlog.py", line 508, in __iter__:
No attribute '_db' on filelog [attribute-error]
File "/mnt/c/Users/Matt/hg/hgext/git/gitlog.py", line 522, in rev:
No attribute '_db' on filelog [attribute-error]
File "/mnt/c/Users/Matt/hg/hgext/git/gitlog.py", line 534, in node:
No attribute '_db' on filelog [attribute-error]
File "/mnt/c/Users/Matt/hg/hgext/git/gitlog.py", line 549, in parents:
No attribute '_db' on filelog [attribute-error]
File "/mnt/c/Users/Matt/hg/hgext/git/gitlog.py", line 556, in parents:
No attribute '_db' on filelog [attribute-error]
File "/mnt/c/Users/Matt/hg/hgext/git/gitlog.py", line 564, in parents:
No attribute 'gitrepo' on filelog [attribute-error]
File "/mnt/c/Users/Matt/hg/hgext/git/gitlog.py", line 564, in parents:
No attribute '_db' on filelog [attribute-error]
I'm not sure what exactly the issue is, but the pyi file that was being
generated up to this point has `filelog` typed as `Any` (because it had a
decorator, and pytype chokes on that), and `baselog` was typed as a class. So
it apparently can't see the `_db` and `gitrepo` attributes of the subclass,
because it doesn't think `filelog` is a class.
Leave the decorator commented out so it hits when searching for the remaining
zope things that need to be updated to Protocol.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 07 Dec 2024 20:15:11 -0500 |
parents | f4733654f144 |
children | 3daaa5195a30 |
line wrap: on
line diff
--- a/hgext/git/gitlog.py Sat Dec 07 03:07:04 2024 -0500 +++ b/hgext/git/gitlog.py Sat Dec 07 20:15:11 2024 -0500 @@ -17,10 +17,6 @@ manifest, pycompat, ) -from mercurial.interfaces import ( - repository, - util as interfaceutil, -) from mercurial.utils import stringutil from . import ( gitutil, @@ -471,7 +467,7 @@ return gitmanifest.gittreemanifestctx(self.gitrepo, t) -@interfaceutil.implementer(repository.ifilestorage) +# @interfaceutil.implementer(repository.ifilestorage) class filelog(baselog): def __init__(self, gr, db, path): super(filelog, self).__init__(gr, db)