[PATCH 05 of 10 shelve-ext v4] shelve: add a function to check whether obs-based shelve is enabled
Kostia Balytskyi
ikostia at fb.com
Sat Mar 11 16:00:24 EST 2017
# HG changeset patch
# User Kostia Balytskyi <ikostia at 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 at 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
More information about the Mercurial-devel
mailing list