diff mercurial/interfaces/repository.py @ 52512:196f441ffc93

interfaces: make `repository.imanifestlog` methods abstract Same as cdd4bc69bfc1 for `imanifestrevisionstored`, but this was already a Protocol class.
author Matt Harbison <matt_harbison@yahoo.com>
date Tue, 10 Dec 2024 21:59:26 -0500
parents ed70604d6e07
children dfb60fb155da
line wrap: on
line diff
--- a/mercurial/interfaces/repository.py	Tue Oct 22 22:52:08 2024 -0400
+++ b/mercurial/interfaces/repository.py	Tue Dec 10 21:59:26 2024 -0500
@@ -1558,6 +1558,7 @@
     narrowed: bool
     """True, is the manifest is narrowed by a matcher"""
 
+    @abc.abstractmethod
     def __getitem__(self, node):
         """Obtain a manifest instance for a given binary node.
 
@@ -1567,6 +1568,7 @@
         interface.
         """
 
+    @abc.abstractmethod
     def get(self, tree, node, verify=True):
         """Retrieve the manifest instance for a given directory and binary node.
 
@@ -1584,6 +1586,7 @@
         interface.
         """
 
+    @abc.abstractmethod
     def getstorage(self, tree):
         """Retrieve an interface to storage for a particular tree.
 
@@ -1593,15 +1596,18 @@
         TODO formalize interface for returned object.
         """
 
+    @abc.abstractmethod
     def clearcaches(self, clear_persisted_data: bool = False) -> None:
         """Clear caches associated with this collection."""
 
+    @abc.abstractmethod
     def rev(self, node):
         """Obtain the revision number for a binary node.
 
         Raises ``error.LookupError`` if the node is not known.
         """
 
+    @abc.abstractmethod
     def update_caches(self, transaction):
         """update whatever cache are relevant for the used storage."""