# HG changeset patch # User Gregory Szorc # Date 2018-03-04 14:58:57 # Node ID d30810d09d6fe9d33cb3fecab785975fa7d8934f # Parent a1d2d0420e22f68a7802961291f1f4b2db62c5e8 obsolete: refactor function for getting obsolete options The function for returning obsolete option values obtains all options, validates, then returns the option that was requested. Let's create a new function to return all obsolete option values so callers needing multiple values can call that. Differential Revision: https://phab.mercurial-scm.org/D2667 diff --git a/mercurial/obsolete.py b/mercurial/obsolete.py --- a/mercurial/obsolete.py +++ b/mercurial/obsolete.py @@ -133,20 +133,29 @@ def _getoptionvalue(repo, option): return option in result +def getoptions(repo): + """Returns dicts showing state of obsolescence features.""" + + createmarkersvalue = _getoptionvalue(repo, createmarkersopt) + unstablevalue = _getoptionvalue(repo, allowunstableopt) + exchangevalue = _getoptionvalue(repo, exchangeopt) + + # createmarkers must be enabled if other options are enabled + if ((unstablevalue or exchangevalue) and not createmarkersvalue): + raise error.Abort(_("'createmarkers' obsolete option must be enabled " + "if other obsolete options are enabled")) + + return { + createmarkersopt: createmarkersvalue, + allowunstableopt: unstablevalue, + exchangeopt: exchangevalue, + } + def isenabled(repo, option): """Returns True if the given repository has the given obsolete option enabled. """ - createmarkersvalue = _getoptionvalue(repo, createmarkersopt) - unstabluevalue = _getoptionvalue(repo, allowunstableopt) - exchangevalue = _getoptionvalue(repo, exchangeopt) - - # createmarkers must be enabled if other options are enabled - if ((unstabluevalue or exchangevalue) and not createmarkersvalue): - raise error.Abort(_("'createmarkers' obsolete option must be enabled " - "if other obsolete options are enabled")) - - return _getoptionvalue(repo, option) + return getoptions(repo)[option] # Creating aliases for marker flags because evolve extension looks for # bumpedfix in obsolete.py