Skip to content

Instantly share code, notes, and snippets.

@jaraco
Created November 20, 2023 21:43
Show Gist options
  • Save jaraco/a29a40517186e251eeab446ca2400aba to your computer and use it in GitHub Desktop.
Save jaraco/a29a40517186e251eeab446ca2400aba to your computer and use it in GitHub Desktop.
--- 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