Comments
Patch
@@ -556,7 +556,7 @@
p = util.expandpath(p)
if not util.hasscheme(p) and not os.path.isabs(p):
p = os.path.normpath(os.path.join(root, p))
- c.set(b"paths", n, p)
+ c.alter(b"paths", n, p)
if section in (None, b'ui'):
# update ui options
@@ -108,6 +108,14 @@
self._source = self._source.preparewrite()
self._source[(section, item)] = source
+ def alter(self, section, key, new_value):
+ """alter a value, to be used by `ui.fixconfig`"""
+ item = self._data[section][key]
+ size = len(item)
+ new_item = (new_value,) + item[1:]
+ assert len(new_item) == size
+ self._data[section][key] = new_item
+
def restore(self, data):
"""restore data returned by self.backup"""
self._source = self._source.preparewrite()