# HG changeset patch # User Boris Feld # Date 2017-07-10 19:49:37 # Node ID 712a85b3677f15824b170c648f18d645623e9c07 # Parent 08bf0ebc6c8e613a69251d300272a6be0dc27ea8 bookmark: deprecate direct del of a bookmark value We want all bookmark deletion to go through 'applychanges', so lets deprecate legacy ways of doing bookmark deletion. diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py --- a/mercurial/bookmarks.py +++ b/mercurial/bookmarks.py @@ -112,6 +112,12 @@ class bmstore(dict): return dict.__setitem__(self, key, value) def __delitem__(self, key): + msg = ("'del bookmarks[name]' is deprecated, " + "use 'bookmarks.applychanges'") + self._repo.ui.deprecwarn(msg, '4.3') + self._del(key) + + def _del(self, key): self._clean = False return dict.__delitem__(self, key) @@ -122,7 +128,7 @@ class bmstore(dict): for name, node in changes: old = self.get(name) if node is None: - del self[name] + self._del(name) else: self._set(name, node) if bmchanges is not None: