Mercurial > public > mercurial-scm > hg-stable
diff mercurial/interfaces/modules.py @ 52535:2ac368d0a5b6
interfaces: make `dirstate` Protocol class methods abstract
Now all known Protocol methods that should be implemented by the subclass are
abstract. See cdd4bc69bfc1 for details.
Note that this will break the `git` extension more, because there are a bunch of
methods that aren't implemented that should be, in favor of some very old
methods that won't be called (like `add()` and `drop()`). It's already broken,
so I'm not taking the time to figure out how to modernize it right now. It's
not detected by pytype because the only instantiation of `gitdirstate` is in
`git/__init__.py`, which was already excluded from pytype checking for some
other reason. AT least with this, it 1) doesn't get forgotten about, and 2)
will require changing the interface if/when the core dirstate class evolves.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Wed, 11 Dec 2024 21:09:15 -0500 |
parents | d7f17819ae9e |
children |