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)