diff hgext3rd/topic/__init__.py @ 5232:9ed5f9c5d8ae stable

topic: hg <= 4.8 compatibility for wrapping exchange._checkpublish() phase-divergent update to 1a81bbc94d45:
author Anton Shestakov <av6@dwimlabs.net>
date Wed, 08 Apr 2020 01:02:23 +0800
parents 1a81bbc94d45
children 8d955635cf45
line wrap: on
line diff
--- a/hgext3rd/topic/__init__.py	Wed Apr 08 01:02:23 2020 +0800
+++ b/hgext3rd/topic/__init__.py	Wed Apr 08 01:02:23 2020 +0800
@@ -383,9 +383,16 @@
     extensions.wrapfunction(changelog.changelog, 'add', wrapadd)
     # Make exchange._checkpublish handle experimental.topic.publish-bare-branch
     if util.safehasattr(exchange, '_checkpublish'):
-        # hg <= 4.8 (33d30fb1e4ae)
         extensions.wrapfunction(exchange, '_checkpublish',
                                 flow.replacecheckpublish)
+    else:
+        # hg <= 4.8 (33d30fb1e4ae)
+        try:
+            evolve = extensions.find(b'evolve')
+            extensions.wrapfunction(evolve.safeguard, '_checkpublish',
+                                    flow.replacecheckpublish)
+        except (KeyError, AttributeError):
+            pass
 
     server.setupserver(ui)