# HG changeset patch # User Pierre-Yves David # Date 1634265684 -7200 # Node ID b56858d85a7bdd291324cde3acedc7a8362f3297 # Parent 76c071bba40d2867993ecae9ebdb92c7c7196252 bookmarks: add a `ignore` variant of the bookmark mode This new mode allow to disable bookmark exchange with some path (or all path). Differential Revision: https://phab.mercurial-scm.org/D11677 diff -r 76c071bba40d -r b56858d85a7b mercurial/bookmarks.py --- a/mercurial/bookmarks.py Fri Oct 15 04:25:58 2021 +0200 +++ b/mercurial/bookmarks.py Fri Oct 15 04:41:24 2021 +0200 @@ -775,6 +775,9 @@ def updatefromremote( ui, repo, remotemarks, path, trfunc, explicit=(), mode=None ): + if mode == b'ignore': + # This should move to an higher level to avoid fetching bookmark at all + return ui.debug(b"checking for updated bookmarks\n") if mode == b'mirror': changed = mirroring_remote(ui, repo, remotemarks) @@ -793,6 +796,9 @@ def incoming(ui, repo, peer, mode=None): """Show bookmarks incoming from other to repo""" + if mode == b'ignore': + ui.status(_(b"bookmarks exchange disabled with this path\n")) + return 0 ui.status(_(b"searching for changed bookmarks\n")) with peer.commandexecutor() as e: diff -r 76c071bba40d -r b56858d85a7b mercurial/helptext/config.txt --- a/mercurial/helptext/config.txt Fri Oct 15 04:25:58 2021 +0200 +++ b/mercurial/helptext/config.txt Fri Oct 15 04:41:24 2021 +0200 @@ -1757,6 +1757,9 @@ - ``mirror``: when pulling, replace local bookmarks by remote bookmarks. This is useful to replicate a repository, or as an optimization. + - ``ignore``: ignore bookmarks during exchange. + (This currently only affect pulling) + The following special named paths exist: ``default`` diff -r 76c071bba40d -r b56858d85a7b mercurial/utils/urlutil.py --- a/mercurial/utils/urlutil.py Fri Oct 15 04:25:58 2021 +0200 +++ b/mercurial/utils/urlutil.py Fri Oct 15 04:41:24 2021 +0200 @@ -769,6 +769,7 @@ SUPPORTED_BOOKMARKS_MODES = { b'default', b'mirror', + b'ignore', } diff -r 76c071bba40d -r b56858d85a7b rust/Cargo.lock --- a/rust/Cargo.lock Fri Oct 15 04:25:58 2021 +0200 +++ b/rust/Cargo.lock Fri Oct 15 04:41:24 2021 +0200 @@ -1,7 +1,5 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 - [[package]] name = "adler" version = "0.2.3" diff -r 76c071bba40d -r b56858d85a7b tests/test-bookmarks-pushpull.t --- a/tests/test-bookmarks-pushpull.t Fri Oct 15 04:25:58 2021 +0200 +++ b/tests/test-bookmarks-pushpull.t Fri Oct 15 04:41:24 2021 +0200 @@ -523,6 +523,21 @@ X@foo 000000000000 removed foo 000000000000 removed foobar 000000000000 removed + $ hg incoming --bookmark -v ../a --config 'paths.*:bookmarks.mode=ignore' + comparing with ../a + bookmarks exchange disabled with this path + $ hg pull ../a --config 'paths.*:bookmarks.mode=ignore' + pulling from ../a + searching for changes + no changes found + $ hg book + @ 1:9b140be10808 + @foo 2:0d2164f0ce0d + X@foo 2:0d2164f0ce0d + Y 0:4e3505fd9583 + Z 2:0d2164f0ce0d + foo -1:000000000000 + * foobar 1:9b140be10808 $ hg pull ../a --config 'paths.*:bookmarks.mode=mirror' pulling from ../a searching for changes diff -r 76c071bba40d -r b56858d85a7b tests/test-help.t --- a/tests/test-help.t Fri Oct 15 04:25:58 2021 +0200 +++ b/tests/test-help.t Fri Oct 15 04:41:24 2021 +0200 @@ -1908,6 +1908,8 @@ "merged" on push/pull. - "mirror": when pulling, replace local bookmarks by remote bookmarks. This is useful to replicate a repository, or as an optimization. + - "ignore": ignore bookmarks during exchange. (This currently only + affect pulling) The following special named paths exist: