# HG changeset patch # User Kostia Balytskyi <ikos...@fb.com> # Date 1484740179 28800 # Wed Jan 18 03:49:39 2017 -0800 # Node ID ceb709491816f84789b77a18bfcab15eaa9860fe # Parent 249273f6db8bf0fdfbbf36bcbd9e3553e5715212 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, @@ -70,6 +71,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 obsshelvefile(scmutil.simplekeyvaluefile): KEYS = [('node', True)] _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel