# HG changeset patch # User Matt Mackall # Date 1434748396 18000 # Node ID b7b9e5028c2a3a24eda54ea99fc734b8f41cb0d5 # Parent fdfa611b8ab05ce86d6e753d245c82161dfb5cc3 topics: consistently use empty string instead of None This agrees with repo.currenttopic which uses ''. A subsequent patch is going to provide a context topic method that returns the empty string. diff -r fdfa611b8ab0 -r b7b9e5028c2a src/topic/__init__.py --- a/src/topic/__init__.py Fri Jun 19 14:18:34 2015 -0500 +++ b/src/topic/__init__.py Fri Jun 19 16:13:16 2015 -0500 @@ -47,7 +47,7 @@ def commit(self, *args, **kwargs): backup = self.ui.backupconfig('ui', 'allowemptycommit') try: - if repo.currenttopic != repo['.'].extra().get('topic'): + if repo.currenttopic != repo['.'].extra().get('topic', ''): # bypass the core "nothing changed" logic self.ui.setconfig('ui', 'allowemptycommit', True) return orig.commit(self, *args, **kwargs) @@ -83,12 +83,12 @@ ('', 'clear', False, 'clear active topic if any'), ('', 'change', '', 'revset of existing revisions to change topic'), ]) -def topics(ui, repo, topic=None, clear=False, change=None): +def topics(ui, repo, topic='', clear=False, change=None): """View current topic, set current topic, or see all topics.""" if change: if not obsolete.isenabled(repo, obsolete.createmarkersopt): raise util.Abort(_('must have obsolete enabled to use --change')) - if topic is None and not clear: + if not topic and not clear: raise util.Abort('changing topic requires a topic name or --clear') if any(not c.mutable() for c in repo.set('%r and public()', change)): raise util.Abort("can't change topic of a public change") @@ -105,7 +105,7 @@ return None fixedextra = dict(c.extra()) newtopic = None if clear else topic - if fixedextra.get(constants.extrakey, None) == topic: + if fixedextra.get(constants.extrakey, '') == topic: continue if clear and constants.extrakey in fixedextra: del fixedextra[constants.extrakey] @@ -137,7 +137,7 @@ if repo.vfs.exists('topic'): repo.vfs.unlink('topic') return - if topic is not None: + if topic: with repo.vfs.open('topic', 'w') as f: f.write(topic) return