interfaces: convert `imanifestrevisionwritable` to a Protocol class
Same as cdd4bc69bfc1 for `imanifestrevisionstored`.
--- a/mercurial/interfaces/repository.py Tue Dec 10 21:48:12 2024 -0500
+++ b/mercurial/interfaces/repository.py Tue Dec 10 21:55:13 2024 -0500
@@ -1279,9 +1279,10 @@
"""
-class imanifestrevisionwritable(imanifestrevisionbase):
+class imanifestrevisionwritable(imanifestrevisionbase, Protocol):
"""Interface representing a manifest revision that can be committed."""
+ @abc.abstractmethod
def write(
self, transaction, linkrev, p1node, p2node, added, removed, match=None
):