diff --git a/mercurial/configitems.py b/mercurial/configitems.py
index 4b239acb23a011983c9c87b3fa93284964ec89a2_bWVyY3VyaWFsL2NvbmZpZ2l0ZW1zLnB5..9e203cda32382647a89cead00c88b6bf3fdbf555_bWVyY3VyaWFsL2NvbmZpZ2l0ZW1zLnB5 100644
--- a/mercurial/configitems.py
+++ b/mercurial/configitems.py
@@ -1409,6 +1409,12 @@
 )
 coreconfigitem(
     b'format',
+    b'use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet',
+    default=False,
+    experimental=True,
+)
+coreconfigitem(
+    b'format',
     b'internal-phase',
     default=False,
     experimental=True,
diff --git a/mercurial/helptext/config.txt b/mercurial/helptext/config.txt
index 4b239acb23a011983c9c87b3fa93284964ec89a2_bWVyY3VyaWFsL2hlbHB0ZXh0L2NvbmZpZy50eHQ=..9e203cda32382647a89cead00c88b6bf3fdbf555_bWVyY3VyaWFsL2hlbHB0ZXh0L2NvbmZpZy50eHQ= 100644
--- a/mercurial/helptext/config.txt
+++ b/mercurial/helptext/config.txt
@@ -1098,6 +1098,9 @@
    `share-safe` requirement if `format.use-share-safe=no`. So we recommend
    setting both this value and `format.use-share-safe` at the same time.
 
+``use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet``
+    Hide message when performing such automatic upgrade.
+
 ``usestore``
     Enable or disable the "store" repository format which improves
     compatibility with systems that fold case or otherwise mangle
diff --git a/mercurial/upgrade_utils/auto_upgrade.py b/mercurial/upgrade_utils/auto_upgrade.py
index 4b239acb23a011983c9c87b3fa93284964ec89a2_bWVyY3VyaWFsL3VwZ3JhZGVfdXRpbHMvYXV0b191cGdyYWRlLnB5..9e203cda32382647a89cead00c88b6bf3fdbf555_bWVyY3VyaWFsL3VwZ3JhZGVfdXRpbHMvYXV0b191cGdyYWRlLnB5 100644
--- a/mercurial/upgrade_utils/auto_upgrade.py
+++ b/mercurial/upgrade_utils/auto_upgrade.py
@@ -44,6 +44,10 @@
         b'format',
         b'use-share-safe.automatic-upgrade-of-mismatching-repositories',
     )
+    auto_upgrade_quiet = ui.configbool(
+        b'format',
+        b'use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet',
+    )
 
     action = None
 
@@ -61,7 +65,7 @@
             hint = b"(see `hg help config.format.use-share-safe` for details)\n"
 
             def action():
-                if not ui.quiet:
+                if not (ui.quiet or auto_upgrade_quiet):
                     ui.write_err(msg)
                     ui.write_err(hint)
                 requirements.add(requirementsmod.SHARESAFE_REQUIREMENT)
@@ -75,7 +79,7 @@
             hint = b"(see `hg help config.format.use-share-safe` for details)\n"
 
             def action():
-                if not ui.quiet:
+                if not (ui.quiet or auto_upgrade_quiet):
                     ui.write_err(msg)
                     ui.write_err(hint)
                 requirements.discard(requirementsmod.SHARESAFE_REQUIREMENT)
diff --git a/tests/test-help.t b/tests/test-help.t
index 4b239acb23a011983c9c87b3fa93284964ec89a2_dGVzdHMvdGVzdC1oZWxwLnQ=..9e203cda32382647a89cead00c88b6bf3fdbf555_dGVzdHMvdGVzdC1oZWxwLnQ= 100644
--- a/tests/test-help.t
+++ b/tests/test-help.t
@@ -1615,6 +1615,8 @@
   
       "use-share-safe.automatic-upgrade-of-mismatching-repositories"
   
+      "use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet"
+  
       "usestore"
   
       "sparse-revlog"
diff --git a/tests/test-upgrade-repo.t b/tests/test-upgrade-repo.t
index 4b239acb23a011983c9c87b3fa93284964ec89a2_dGVzdHMvdGVzdC11cGdyYWRlLXJlcG8udA==..9e203cda32382647a89cead00c88b6bf3fdbf555_dGVzdHMvdGVzdC11cGdyYWRlLXJlcG8udA== 100644
--- a/tests/test-upgrade-repo.t
+++ b/tests/test-upgrade-repo.t
@@ -2075,6 +2075,7 @@
   >     --config format.use-dirstate-tracked-hint.automatic-upgrade-of-mismatching-repositories=yes \
   >     --config format.use-dirstate-tracked-hint=yes \
   >     --config format.use-share-safe.automatic-upgrade-of-mismatching-repositories=yes \
+  >     --config format.use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet=yes \
   >     --config format.use-share-safe=no
   automatically downgrading repository from the `dirstate-v2` feature
   (see `hg help config.format.use-dirstate-v2` for details)
@@ -2078,8 +2079,6 @@
   >     --config format.use-share-safe=no
   automatically downgrading repository from the `dirstate-v2` feature
   (see `hg help config.format.use-dirstate-v2` for details)
-  automatically downgrading repository from the `share-safe` feature
-  (see `hg help config.format.use-share-safe` for details)
   automatically upgrading repository to the `tracked-hint` feature
   (see `hg help config.format.use-dirstate-tracked-hint` for details)
 
@@ -2094,6 +2093,7 @@
   >     --config format.use-dirstate-tracked-hint.automatic-upgrade-of-mismatching-repositories=yes \
   >     --config format.use-dirstate-tracked-hint=no\
   >     --config format.use-share-safe.automatic-upgrade-of-mismatching-repositories=yes \
+  >     --config format.use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet=yes \
   >     --config format.use-share-safe=yes
   automatically upgrading repository to the `dirstate-v2` feature
   (see `hg help config.format.use-dirstate-v2` for details)
@@ -2097,8 +2097,6 @@
   >     --config format.use-share-safe=yes
   automatically upgrading repository to the `dirstate-v2` feature
   (see `hg help config.format.use-dirstate-v2` for details)
-  automatically upgrading repository to the `share-safe` feature
-  (see `hg help config.format.use-share-safe` for details)
   automatically downgrading repository from the `tracked-hint` feature
   (see `hg help config.format.use-dirstate-tracked-hint` for details)
   $ hg debugformat -R auto-upgrade | egrep '(dirstate-v2|tracked|share-safe)'