changeset 6700:a7d94f235488

topic: remove transaction validator compatibility for hg 5.3
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 26 Oct 2023 14:49:37 -0300
parents c329bd4beaa6
children f0cbc19e77ef
files hgext3rd/topic/__init__.py hgext3rd/topic/discovery.py
diffstat 2 files changed, 5 insertions(+), 65 deletions(-) [+]
line wrap: on
line diff
--- a/hgext3rd/topic/__init__.py	Wed Feb 07 16:31:44 2024 -0300
+++ b/hgext3rd/topic/__init__.py	Thu Oct 26 14:49:37 2023 -0300
@@ -843,23 +843,11 @@
 
             reporef = weakref.ref(self)
             if self.ui.configbool(b'experimental', b'enforce-single-head'):
-                if util.safehasattr(tr, '_validator'):
-                    # hg <= 5.3 (36f08ae87ef6)
-                    origvalidator_single_head = tr._validator
-
                 def _validate_single_head(tr2):
                     repo = reporef()
                     flow.enforcesinglehead(repo, tr2)
 
-                def validator(tr2):
-                    _validate_single_head(tr2)
-                    return origvalidator_single_head(tr2)
-
-                if util.safehasattr(tr, '_validator'):
-                    # hg <= 5.3 (36f08ae87ef6)
-                    tr._validator = validator
-                else:
-                    tr.addvalidator(b'000-enforce-single-head', _validate_single_head)
+                tr.addvalidator(b'000-enforce-single-head', _validate_single_head)
 
             topicmodeserver = self.ui.config(b'experimental',
                                              b'topic-mode.server', b'ignore')
@@ -867,23 +855,11 @@
                                              b'topic.publish-bare-branch')
             ispush = desc.startswith((b'push', b'serve'))
             if (topicmodeserver != b'ignore' and ispush):
-                if util.safehasattr(tr, '_validator'):
-                    # hg <= 5.3 (36f08ae87ef6)
-                    origvalidator_untopiced = tr._validator
-
                 def _validate_untopiced(tr2):
                     repo = reporef()
                     flow.rejectuntopicedchangeset(repo, tr2)
 
-                def validator(tr2):
-                    _validate_untopiced(tr2)
-                    return origvalidator_untopiced(tr2)
-
-                if util.safehasattr(tr, '_validator'):
-                    # hg <= 5.3 (36f08ae87ef6)
-                    tr._validator = validator
-                else:
-                    tr.addvalidator(b'000-reject-untopiced', _validate_untopiced)
+                tr.addvalidator(b'000-reject-untopiced', _validate_untopiced)
 
             elif publishbare and ispush:
                 origclose = tr.close
@@ -899,43 +875,18 @@
                                                b'topic.allow-publish',
                                                True)
             if not allow_publish:
-                if util.safehasattr(tr, '_validator'):
-                    # hg <= 5.3 (36f08ae87ef6)
-                    origvalidator_publish = tr._validator
-
                 def _validate_publish(tr2):
                     repo = reporef()
                     flow.reject_publish(repo, tr2)
 
-                def validator(tr2):
-                    _validate_publish(tr2)
-                    return origvalidator_publish(tr2)
-
-                if util.safehasattr(tr, '_validator'):
-                    # hg <= 5.3 (36f08ae87ef6)
-                    tr._validator = validator
-                else:
-                    tr.addvalidator(b'000-reject-publish', _validate_publish)
-
-            if util.safehasattr(tr, '_validator'):
-                # hg <= 5.3 (36f08ae87ef6)
-                origvalidator_affected_tns = tr._validator
+                tr.addvalidator(b'000-reject-publish', _validate_publish)
 
             def _validate_affected_tns(tr2):
                 repo = reporef()
                 assert repo is not None  # help pytype
                 find_affected_tns(repo, tr2)
 
-            def validator(tr2):
-                result = origvalidator_affected_tns(tr2)
-                _validate_affected_tns(tr2)
-                return result
-
-            if util.safehasattr(tr, '_validator'):
-                # hg <= 5.3 (36f08ae87ef6)
-                tr._validator = validator
-            else:
-                tr.addvalidator(b'999-find-affected-tns', _validate_affected_tns)
+            tr.addvalidator(b'999-find-affected-tns', _validate_affected_tns)
 
             # real transaction start
             ct = self.currenttopic
--- a/hgext3rd/topic/discovery.py	Wed Feb 07 16:31:44 2024 -0300
+++ b/hgext3rd/topic/discovery.py	Thu Oct 26 14:49:37 2023 -0300
@@ -263,9 +263,6 @@
         return
     tr._prepushheads = _nbheads(op.repo)
     reporef = weakref.ref(op.repo)
-    if util.safehasattr(tr, '_validator'):
-        # hg <= 5.3 (36f08ae87ef6)
-        oldvalidator = tr._validator
 
     def _validate(tr):
         repo = reporef()
@@ -295,15 +292,7 @@
                              b"pushing new heads")
                     raise compat.StateError(msg, hint=hint)
 
-    def validator(tr):
-        _validate(tr)
-        return oldvalidator(tr)
-
-    if util.safehasattr(tr, '_validator'):
-        # hg <= 5.3 (36f08ae87ef6)
-        tr._validator = validator
-    else:
-        tr.addvalidator(b'000-new-head-check', _validate)
+    tr.addvalidator(b'000-new-head-check', _validate)
 
 handlecheckheads.params = frozenset()