# HG changeset patch # User Matt Harbison # Date 2024-12-11 02:55:13 # Node ID 01818a59f46324b3e37632a6162fab09f5a935e5 # Parent 99ca58c7cd0dda2e7d93c6c6dca6a8bc7318503b interfaces: convert `imanifestrevisionwritable` to a Protocol class Same as cdd4bc69bfc1 for `imanifestrevisionstored`. diff --git a/mercurial/interfaces/repository.py b/mercurial/interfaces/repository.py --- a/mercurial/interfaces/repository.py +++ b/mercurial/interfaces/repository.py @@ -1279,9 +1279,10 @@ class imanifestrevisionstored(imanifestr """ -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 ):