# HG changeset patch # User Kostia Balytskyi <ikos...@fb.com> # Date 1490790691 25200 # Wed Mar 29 05:31:31 2017 -0700 # Node ID 0aa864184c9d78c11d18980cf0faa10828445ff5 # Parent b5d6e501621808f330e46295d09526a5d1e9064a shelve: add a function to check whether obs-based shelve is enabled
A central place to check whether code should use traditional or obsolescense-based shelve behavior. diff --git a/hgext/shelve.py b/hgext/shelve.py --- a/hgext/shelve.py +++ b/hgext/shelve.py @@ -41,6 +41,7 @@ from mercurial import ( mdiff, merge, node as nodemod, + obsolete, patch, phases, repair, @@ -72,6 +73,18 @@ patchextension = 'patch' # generic user for all shelve operations shelveuser = 'shelve@localhost' +def isobsshelve(repo, ui): + """Check whether obsolescense-based shelve is enabled""" + obsshelve = ui.configbool('experimental', 'obsshelve') + if not obsshelve: + return False + if not obsolete.isenabled(repo, obsolete.createmarkersopt): + w = _('ignoring experimental.obsshelve because createmarkers option ' + 'is disabled') + ui.warn(w) + return False + return True + class shelvedfile(object): """Helper for the file storing a single shelve _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel