# HG changeset patch # User Pierre-Yves David <pierre-yves.david@octobus.net> # Date 1513038432 -3600 # Tue Dec 12 01:27:12 2017 +0100 # Node ID 703e8398ac57ba62bf9179fa9d63f7bfe662f608 # Parent e642bad8174a6be463b1aa7a017748a72bf6c7b3 topic: move function wrapping from reposetup to uisetup Having the function un reposetup means they get wrapped over and over again for long lived process. diff --git a/CHANGELOG b/CHANGELOG --- a/CHANGELOG +++ b/CHANGELOG @@ -25,6 +25,7 @@ Topic (0.5.2) * makes code more resilient to partiel initialization + * avoid over wrapping inside of long living process 7.0.1 -- 2017-11-14 ------------------- diff --git a/hgext3rd/topic/__init__.py b/hgext3rd/topic/__init__.py --- a/hgext3rd/topic/__init__.py +++ b/hgext3rd/topic/__init__.py @@ -322,6 +322,10 @@ cmdutil.summaryhooks.add('topic', summaryhook) + # Wrap workingctx extra to return the topic name + extensions.wrapfunction(context.workingctx, '__init__', wrapinit) + # Wrap changelog.add to drop empty topic + extensions.wrapfunction(changelog.changelog, 'add', wrapadd) def reposetup(ui, repo): if not isinstance(repo, localrepo.localrepository): @@ -483,10 +487,6 @@ repo.names.addnamespace(namespaces.namespace( 'topics', 'topic', namemap=_namemap, nodemap=_nodemap, listnames=lambda repo: repo.topics)) - # Wrap workingctx extra to return the topic name - extensions.wrapfunction(context.workingctx, '__init__', wrapinit) - # Wrap changelog.add to drop empty topic - extensions.wrapfunction(changelog.changelog, 'add', wrapadd) def wrapinit(orig, self, repo, *args, **kwargs): orig(self, repo, *args, **kwargs)