diff mercurial/bookmarks.py @ 48242:4d2ab365699e

bookmarks: move the `mirror` option to the `paths` section A new `bookmarks` section with a `mirror` option have been added. That option has never been released yet. This new options is limited since it affect all paths without distinction. In case where a repository is interacting with multiple peers, being able to control behavior on a path basis can be quite valuable. In addition, having more variant of behavior would be interesting, especially a mode where no bookmark exchanged is tried at all. Such new mode (implemented later) make a lot of sense for configuration on a path-basis. Configuration of the default behavior is still possible through the usage of generic path configuration. The "old" config, becomes: [bookmarks] mirror=True becomes: [path] *:bookmarks.mode=mirror Differential Revision: https://phab.mercurial-scm.org/D11675
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 15 Oct 2021 03:49:05 +0200
parents 62f325f9b347
children 76c071bba40d
line wrap: on
line diff
--- a/mercurial/bookmarks.py	Fri Oct 15 03:28:28 2021 +0200
+++ b/mercurial/bookmarks.py	Fri Oct 15 03:49:05 2021 +0200
@@ -772,9 +772,11 @@
     return changed
 
 
-def updatefromremote(ui, repo, remotemarks, path, trfunc, explicit=()):
+def updatefromremote(
+    ui, repo, remotemarks, path, trfunc, explicit=(), mode=None
+):
     ui.debug(b"checking for updated bookmarks\n")
-    if ui.configbool(b'bookmarks', b'mirror'):
+    if mode == b'mirror':
         changed = mirroring_remote(ui, repo, remotemarks)
     else:
         changed = merging_from_remote(ui, repo, remotemarks, path, explicit)