diff --git a/mercurial/configitems.py b/mercurial/configitems.py --- a/mercurial/configitems.py +++ b/mercurial/configitems.py @@ -1084,6 +1084,11 @@ ) coreconfigitem( b'experimental', + b'sharesafe-warn-outdated-shares', + default=True, +) +coreconfigitem( + b'experimental', b'single-head-per-branch', default=False, ) diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -607,7 +607,9 @@ storevfs, requirements, ) - else: + elif ui.configbool( + b'experimental', b'sharesafe-warn-outdated-shares' + ): ui.warn( _( b'warning: source repository supports share-safe functionality.' diff --git a/mercurial/upgrade.py b/mercurial/upgrade.py --- a/mercurial/upgrade.py +++ b/mercurial/upgrade.py @@ -257,10 +257,11 @@ current_requirements.add(requirementsmod.SHARESAFE_REQUIREMENT) ui.warn(_(b'repository upgraded to use share-safe mode\n')) except error.LockError as e: - ui.warn( - _(b'failed to upgrade share, got error: %s\n') - % stringutil.forcebytestr(e.strerror) - ) + if ui.configbool(b'experimental', b'sharesafe-warn-outdated-shares'): + ui.warn( + _(b'failed to upgrade share, got error: %s\n') + % stringutil.forcebytestr(e.strerror) + ) finally: if wlock: wlock.release() diff --git a/tests/test-share-safe.t b/tests/test-share-safe.t --- a/tests/test-share-safe.t +++ b/tests/test-share-safe.t @@ -392,6 +392,12 @@ Make sure existing shares still works + $ hg log -GT "{node}: {desc}\n" -R ../nss-share --config experimental.sharesafe-warn-outdated-shares=false + @ f63db81e6dde1d9c78814167f77fb1fb49283f4f: added bar + | + o f3ba8b99bb6f897c87bbc1c07b75c6ddf43a4f77: added foo + + $ hg log -GT "{node}: {desc}\n" -R ../nss-share warning: source repository supports share-safe functionality. Reshare to upgrade. @ f63db81e6dde1d9c78814167f77fb1fb49283f4f: added bar @@ -544,6 +550,13 @@ | o f3ba8b99bb6f897c87bbc1c07b75c6ddf43a4f77: added foo + + $ hg log -GT "{node}: {desc}\n" -R ../nss-share --config experimental.sharesafe-auto-upgrade-shares=true --config experimental.sharesafe-warn-outdated-shares=false + @ f63db81e6dde1d9c78814167f77fb1fb49283f4f: added bar + | + o f3ba8b99bb6f897c87bbc1c07b75c6ddf43a4f77: added foo + + $ rm ../nss-share/.hg/wlock $ hg log -GT "{node}: {desc}\n" -R ../nss-share --config experimental.sharesafe-auto-upgrade-shares=true repository upgraded to use share-safe mode