# HG changeset patch # User Kostia Balytskyi <ikos...@fb.com> # Date 1489250294 28800 # Sat Mar 11 08:38:14 2017 -0800 # Node ID 7123aecf3dd2b468a6cd47b3615c893ea73a18ec # Parent 3b034fb4bfcfdfd7700fd43edef33d032efd4924 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 @@ -40,6 +40,7 @@ from mercurial import ( mdiff, merge, node as nodemod, + obsolete, patch, phases, repair, @@ -71,6 +72,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