diff mercurial/exchange.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 7d1e60244561
children aad84024660f
line wrap: on
line diff
--- a/mercurial/exchange.py	Fri Oct 15 03:28:28 2021 +0200
+++ b/mercurial/exchange.py	Fri Oct 15 03:49:05 2021 +0200
@@ -2028,6 +2028,9 @@
     pullop.stepsdone.add(b'bookmarks')
     repo = pullop.repo
     remotebookmarks = pullop.remotebookmarks
+    bookmarks_mode = None
+    if pullop.remote_path is not None:
+        bookmarks_mode = pullop.remote_path.bookmarks_mode
     bookmod.updatefromremote(
         repo.ui,
         repo,
@@ -2035,6 +2038,7 @@
         pullop.remote.url(),
         pullop.gettransaction,
         explicit=pullop.explicitbookmarks,
+        mode=bookmarks_mode,
     )