[PATCH 09 of 10] bookmark: deprecate direct set of a bookmark value
Boris Feld
boris.feld at octobus.net
Sat Jul 15 07:42:57 EDT 2017
# HG changeset patch
# User Boris Feld <boris.feld at octobus.net>
# Date 1499716054 -7200
# Mon Jul 10 21:47:34 2017 +0200
# Node ID 381e25bcfa028238ac3c27c30b7cc36f90ef2b60
# Parent a041b7fd158ab0a5dda7ef970aa0a238103e896b
# EXP-Topic tr.changes.bookmarks
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.
diff -r a041b7fd158a -r 381e25bcfa02 mercurial/bookmarks.py
--- 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)
More information about the Mercurial-devel
mailing list