D2667: obsolete: refactor function for getting obsolete options
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Sun Mar 4 20:23:32 UTC 2018
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
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.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D2667
AFFECTED FILES
mercurial/obsolete.py
CHANGE DETAILS
diff --git a/mercurial/obsolete.py b/mercurial/obsolete.py
--- a/mercurial/obsolete.py
+++ b/mercurial/obsolete.py
@@ -133,20 +133,29 @@
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]
### obsolescence marker flag
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list