# HG changeset patch # User Matt Harbison # Date 2024-12-11 23:04:21 # Node ID 3abf9bc10fcc470dd4bff397a3b7c6d6cebbaddf # Parent 9358d786af246d989307176f7cfafdf8c54134c0 interfaces: mark `completelocalrepository` as a Protocol class This is just for completeness, since everything else in here is explicitly marked. The *.pyi file generated for this module is unchanged, because this class currently has no methods or attrs of its own (other than `__doc__`). With this, the odyssey of converting the zope interfaces to Protocol classes is complete. There's a little bit of mopping up in making sure the previously converted Protocols use `@abc.abstractmethod` where appropriate, but that can be deferred for now. diff --git a/mercurial/interfaces/repository.py b/mercurial/interfaces/repository.py --- a/mercurial/interfaces/repository.py +++ b/mercurial/interfaces/repository.py @@ -2233,7 +2233,9 @@ class ilocalrepositorymain(Protocol): class completelocalrepository( - ilocalrepositorymain, ilocalrepositoryfilestorage + ilocalrepositorymain, + ilocalrepositoryfilestorage, + Protocol, ): """Complete interface for a local repository."""