Created
November 20, 2023 21:43
-
-
Save jaraco/a29a40517186e251eeab446ca2400aba to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- a/mercurial/dirstate.py | |
+++ b/mercurial/dirstate.py | |
@@ -70,68 +70,23 @@ class rootcache(filecache): | |
def check_invalidated(func): | |
- """check that the func is called with a non-invalidated dirstate | |
- | |
- The dirstate is in an "invalidated state" after an error occured during its | |
- modification and remains so until we exited the top level scope that framed | |
- such change. | |
- """ | |
- | |
- def wrap(self, *args, **kwargs): | |
- if self._invalidated_context: | |
- msg = 'calling `%s` after the dirstate was invalidated' | |
- msg %= func.__name__ | |
- raise error.ProgrammingError(msg) | |
- return func(self, *args, **kwargs) | |
- | |
- return wrap | |
+ return func | |
def requires_changing_parents(func): | |
- def wrap(self, *args, **kwargs): | |
- if not self.is_changing_parents: | |
- msg = 'calling `%s` outside of a changing_parents context' | |
- msg %= func.__name__ | |
- raise error.ProgrammingError(msg) | |
- return func(self, *args, **kwargs) | |
- | |
- return check_invalidated(wrap) | |
+ return func | |
def requires_changing_files(func): | |
- def wrap(self, *args, **kwargs): | |
- if not self.is_changing_files: | |
- msg = 'calling `%s` outside of a `changing_files`' | |
- msg %= func.__name__ | |
- raise error.ProgrammingError(msg) | |
- return func(self, *args, **kwargs) | |
- | |
- return check_invalidated(wrap) | |
+ return func | |
def requires_changing_any(func): | |
- def wrap(self, *args, **kwargs): | |
- if not self.is_changing_any: | |
- msg = 'calling `%s` outside of a changing context' | |
- msg %= func.__name__ | |
- raise error.ProgrammingError(msg) | |
- return func(self, *args, **kwargs) | |
- | |
- return check_invalidated(wrap) | |
+ return func | |
def requires_changing_files_or_status(func): | |
- def wrap(self, *args, **kwargs): | |
- if not (self.is_changing_files or self._running_status > 0): | |
- msg = ( | |
- 'calling `%s` outside of a changing_files ' | |
- 'or running_status context' | |
- ) | |
- msg %= func.__name__ | |
- raise error.ProgrammingError(msg) | |
- return func(self, *args, **kwargs) | |
- | |
- return check_invalidated(wrap) | |
+ return func | |
CHANGE_TYPE_PARENTS = "parents" | |
@@ -299,17 +254,6 @@ class dirstate: | |
repo.ui.develwarn(msg) | |
assert self._changing_level >= 0 | |
- # different type of change are mutually exclusive | |
- if self._change_type is None: | |
- assert self._changing_level == 0 | |
- self._change_type = change_type | |
- elif self._change_type != change_type: | |
- msg = ( | |
- 'trying to open "%s" dirstate-changing context while a "%s" is' | |
- ' already open' | |
- ) | |
- msg %= (change_type, self._change_type) | |
- raise error.ProgrammingError(msg) | |
should_write = False | |
self._changing_level += 1 | |
try: | |
@@ -1123,8 +1067,6 @@ class dirstate: | |
self._plchangecallbacks[category] = callback | |
def _writedirstate(self, tr, st): | |
- # make sure we don't write invalidated content | |
- assert not self._invalidated_context | |
# notify callbacks about parents change | |
if self._origpl is not None and self._origpl != self._pl: | |
for c, callback in sorted(self._plchangecallbacks.items()): |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment