# HG changeset patch # User Martin von Zweigbergk # Date 1575916138 28800 # Node ID de0151ba3e463e8e2e5f3627dd55b7ae34351587 # Parent 93014d9726d5a8bbe7f9cf8e0a6d2d6034373cba topic: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1. util.nullcontextmanager() was added in hg 4.4. diff -r 93014d9726d5 -r de0151ba3e46 hgext3rd/topic/__init__.py --- a/hgext3rd/topic/__init__.py Mon Dec 09 10:33:48 2019 -0800 +++ b/hgext3rd/topic/__init__.py Mon Dec 09 10:28:58 2019 -0800 @@ -385,14 +385,14 @@ return caps def commit(self, *args, **kwargs): - backup = self.ui.backupconfig(b'ui', b'allowemptycommit') - try: - if self.currenttopic != self[b'.'].topic(): - # bypass the core "nothing changed" logic - self.ui.setconfig(b'ui', b'allowemptycommit', True) + configoverride = util.nullcontextmanager() + if self.currenttopic != self[b'.'].topic(): + # bypass the core "nothing changed" logic + configoverride = self.ui.configoverride({ + (b'ui', b'allowemptycommit'): True + }) + with configoverride: return super(topicrepo, self).commit(*args, **kwargs) - finally: - self.ui.restoreconfig(backup) def commitctx(self, ctx, *args, **kwargs): topicfilter = topicmap.topicfilter(self.filtername)