Mercurial > hg
changeset 33517:08bf0ebc6c8e
bookmark: deprecate direct set of a bookmark value
We want all bookmark update to go through 'applychanges', so lets deprecate
legacy ways of doing bookmark update.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Mon, 10 Jul 2017 21:47:34 +0200 |
parents | f9e6e43c7987 |
children | 712a85b3677f |
files | mercurial/bookmarks.py |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/bookmarks.py Mon Jul 10 20:26:53 2017 +0200 +++ b/mercurial/bookmarks.py Mon Jul 10 21:47:34 2017 +0200 @@ -102,8 +102,14 @@ self._aclean = False def __setitem__(self, *args, **kwargs): + msg = ("'bookmarks[name] = node' is deprecated, " + "use 'bookmarks.applychanges'") + self._repo.ui.deprecwarn(msg, '4.3') + self._set(*args, **kwargs) + + def _set(self, key, value): self._clean = False - return dict.__setitem__(self, *args, **kwargs) + return dict.__setitem__(self, key, value) def __delitem__(self, key): self._clean = False @@ -118,7 +124,7 @@ if node is None: del self[name] else: - self[name] = node + self._set(name, node) if bmchanges is not None: # if a previous value exist preserve the "initial" value previous = bmchanges.get(name)