# HG changeset patch # User Pierre-Yves David # Date 1655228435 -7200 # Node ID 4f04bb0d8debc58a848a07dcbd1abf775ed252fa # Parent 67b210bb5ce289749e4ca25dd971b190fd93d931 auto-upgrade: add an option to silence the safe-mismatch message For well tested case, the message can get in the way, so we add a way to disable it. diff -r 67b210bb5ce2 -r 4f04bb0d8deb mercurial/configitems.py --- a/mercurial/configitems.py Tue Jun 14 15:22:05 2022 +0200 +++ b/mercurial/configitems.py Tue Jun 14 19:40:35 2022 +0200 @@ -2170,6 +2170,16 @@ default=True, ) coreconfigitem( + b'share', + b'safe-mismatch.source-not-safe:verbose-upgrade', + default=True, +) +coreconfigitem( + b'share', + b'safe-mismatch.source-safe:verbose-upgrade', + default=True, +) +coreconfigitem( b'shelve', b'maxbackups', default=10, diff -r 67b210bb5ce2 -r 4f04bb0d8deb mercurial/helptext/config.txt --- a/mercurial/helptext/config.txt Tue Jun 14 15:22:05 2022 +0200 +++ b/mercurial/helptext/config.txt Tue Jun 14 19:40:35 2022 +0200 @@ -2179,6 +2179,9 @@ Check :hg:`help config.format.use-share-safe` for details about the share-safe feature. +``safe-mismatch.source-safe:verbose-upgrade`` + Display a message when upgrading, (default: True) + ``safe-mismatch.source-safe.warn`` Shows a warning on operations if the shared repository does not use share-safe, but the source repository does. @@ -2204,6 +2207,9 @@ Check :hg:`help config.format.use-share-safe` for details about the share-safe feature. +``safe-mismatch.source-not-safe:verbose-upgrade`` + Display a message when upgrading, (default: True) + ``safe-mismatch.source-not-safe.warn`` Shows a warning on operations if the shared repository uses share-safe, but the source repository does not. diff -r 67b210bb5ce2 -r 4f04bb0d8deb mercurial/localrepo.py --- a/mercurial/localrepo.py Tue Jun 14 15:22:05 2022 +0200 +++ b/mercurial/localrepo.py Tue Jun 14 19:40:35 2022 +0200 @@ -628,6 +628,9 @@ mismatch_config = ui.config( b'share', b'safe-mismatch.source-not-safe' ) + mismatch_verbose_upgrade = ui.configbool( + b'share', b'safe-mismatch.source-not-safe:verbose-upgrade' + ) if mismatch_config in ( b'downgrade-allow', b'allow', @@ -643,6 +646,7 @@ requirements, mismatch_config, mismatch_warn, + mismatch_verbose_upgrade, ) elif mismatch_config == b'abort': raise error.Abort( @@ -668,6 +672,9 @@ mismatch_warn = ui.configbool( b'share', b'safe-mismatch.source-safe.warn' ) + mismatch_verbose_upgrade = ui.configbool( + b'share', b'safe-mismatch.source-safe:verbose-upgrade' + ) if mismatch_config in ( b'upgrade-allow', b'allow', @@ -683,6 +690,7 @@ requirements, mismatch_config, mismatch_warn, + mismatch_verbose_upgrade, ) elif mismatch_config == b'abort': raise error.Abort( diff -r 67b210bb5ce2 -r 4f04bb0d8deb mercurial/upgrade.py --- a/mercurial/upgrade.py Tue Jun 14 15:22:05 2022 +0200 +++ b/mercurial/upgrade.py Tue Jun 14 19:40:35 2022 +0200 @@ -305,6 +305,7 @@ current_requirements, mismatch_config, mismatch_warn, + mismatch_verbose_upgrade, ): """Upgrades a share to use share-safe mechanism""" wlock = None @@ -337,7 +338,8 @@ diffrequires.add(requirementsmod.SHARESAFE_REQUIREMENT) current_requirements.add(requirementsmod.SHARESAFE_REQUIREMENT) scmutil.writerequires(hgvfs, diffrequires) - ui.warn(_(b'repository upgraded to use share-safe mode\n')) + if mismatch_verbose_upgrade: + ui.warn(_(b'repository upgraded to use share-safe mode\n')) except error.LockError as e: hint = _( b"see `hg help config.format.use-share-safe` for more information" @@ -366,6 +368,7 @@ current_requirements, mismatch_config, mismatch_warn, + mismatch_verbose_upgrade, ): """Downgrades a share which use share-safe to not use it""" wlock = None @@ -394,7 +397,8 @@ current_requirements |= source_requirements current_requirements -= set(requirementsmod.SHARESAFE_REQUIREMENT) scmutil.writerequires(hgvfs, current_requirements) - ui.warn(_(b'repository downgraded to not use share-safe mode\n')) + if mismatch_verbose_upgrade: + ui.warn(_(b'repository downgraded to not use share-safe mode\n')) except error.LockError as e: hint = _( b"see `hg help config.format.use-share-safe` for more information" diff -r 67b210bb5ce2 -r 4f04bb0d8deb tests/test-share-safe.t --- a/tests/test-share-safe.t Tue Jun 14 15:22:05 2022 +0200 +++ b/tests/test-share-safe.t Tue Jun 14 19:40:35 2022 +0200 @@ -521,12 +521,21 @@ [255] $ rm ../ss-share/.hg/wlock + $ cp -R ../ss-share ../ss-share-bck $ hg log -GT "{node}: {desc}\n" -R ../ss-share --config share.safe-mismatch.source-not-safe=downgrade-abort repository downgraded to not use share-safe mode @ f63db81e6dde1d9c78814167f77fb1fb49283f4f: added bar | o f3ba8b99bb6f897c87bbc1c07b75c6ddf43a4f77: added foo + $ rm -rf ../ss-share + $ mv ../ss-share-bck ../ss-share + + $ hg log -GT "{node}: {desc}\n" -R ../ss-share --config share.safe-mismatch.source-not-safe=downgrade-abort --config share.safe-mismatch.source-not-safe:verbose-upgrade=no + @ f63db81e6dde1d9c78814167f77fb1fb49283f4f: added bar + | + o f3ba8b99bb6f897c87bbc1c07b75c6ddf43a4f77: added foo + $ hg log -GT "{node}: {desc}\n" -R ../ss-share @ f63db81e6dde1d9c78814167f77fb1fb49283f4f: added bar @@ -588,12 +597,20 @@ [255] $ rm ../nss-share/.hg/wlock + $ cp -R ../nss-share ../nss-share-bck $ hg log -GT "{node}: {desc}\n" -R ../nss-share --config share.safe-mismatch.source-safe=upgrade-abort repository upgraded to use share-safe mode @ f63db81e6dde1d9c78814167f77fb1fb49283f4f: added bar | o f3ba8b99bb6f897c87bbc1c07b75c6ddf43a4f77: added foo + $ rm -rf ../nss-share + $ mv ../nss-share-bck ../nss-share + $ hg log -GT "{node}: {desc}\n" -R ../nss-share --config share.safe-mismatch.source-safe=upgrade-abort --config share.safe-mismatch.source-safe:verbose-upgrade=no + @ f63db81e6dde1d9c78814167f77fb1fb49283f4f: added bar + | + o f3ba8b99bb6f897c87bbc1c07b75c6ddf43a4f77: added foo + Test that unshare works