diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py
index 202291a280fb6225bf7f811ed3b5ac6232c5b2af_bWVyY3VyaWFsL3NjbXV0aWwucHk=..f8e531a3a77cfe8aca930e60e66b5c25122a689e_bWVyY3VyaWFsL3NjbXV0aWwucHk= 100644
--- a/mercurial/scmutil.py
+++ b/mercurial/scmutil.py
@@ -732,6 +732,6 @@
     missings.sort()
     if missings:
         raise error.RequirementError(
-            _("unknown repository format: requires features '%s' (upgrade "
-              "Mercurial)") % "', '".join(missings),
+            _("repository requires features unknown to this Mercurial: %s")
+            % " ".join(missings),
             hint=_("see http://mercurial.selenic.com/wiki/MissingRequirement"
@@ -737,5 +737,5 @@
             hint=_("see http://mercurial.selenic.com/wiki/MissingRequirement"
-                   " for details"))
+                   " for more information"))
     return requirements
 
 class filecachesubentry(object):
diff --git a/tests/test-commit.t b/tests/test-commit.t
index 202291a280fb6225bf7f811ed3b5ac6232c5b2af_dGVzdHMvdGVzdC1jb21taXQudA==..f8e531a3a77cfe8aca930e60e66b5c25122a689e_dGVzdHMvdGVzdC1jb21taXQudA== 100644
--- a/tests/test-commit.t
+++ b/tests/test-commit.t
@@ -102,8 +102,8 @@
   $ echo foo >> foo
   $ echo fake >> .hg/requires
   $ hg commit -m bla
-  abort: unknown repository format: requires features 'fake' (upgrade Mercurial)!
-  (see http://mercurial.selenic.com/wiki/MissingRequirement for details)
+  abort: repository requires features unknown to this Mercurial: fake!
+  (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)
   [255]
 
   $ cd ..
diff --git a/tests/test-identify.t b/tests/test-identify.t
index 202291a280fb6225bf7f811ed3b5ac6232c5b2af_dGVzdHMvdGVzdC1pZGVudGlmeS50..f8e531a3a77cfe8aca930e60e66b5c25122a689e_dGVzdHMvdGVzdC1pZGVudGlmeS50 100644
--- a/tests/test-identify.t
+++ b/tests/test-identify.t
@@ -113,10 +113,10 @@
 
   $ echo fake >> .hg/requires
   $ hg id
-  abort: unknown repository format: requires features 'fake' (upgrade Mercurial)!
-  (see http://mercurial.selenic.com/wiki/MissingRequirement for details)
+  abort: repository requires features unknown to this Mercurial: fake!
+  (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)
   [255]
 
   $ cd ..
 #if no-outer-repo
   $ hg id test
@@ -118,9 +118,9 @@
   [255]
 
   $ cd ..
 #if no-outer-repo
   $ hg id test
-  abort: unknown repository format: requires features 'fake' (upgrade Mercurial)!
-  (see http://mercurial.selenic.com/wiki/MissingRequirement for details)
+  abort: repository requires features unknown to this Mercurial: fake!
+  (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)
   [255]
 #endif
diff --git a/tests/test-largefiles.t b/tests/test-largefiles.t
index 202291a280fb6225bf7f811ed3b5ac6232c5b2af_dGVzdHMvdGVzdC1sYXJnZWZpbGVzLnQ=..f8e531a3a77cfe8aca930e60e66b5c25122a689e_dGVzdHMvdGVzdC1sYXJnZWZpbGVzLnQ= 100644
--- a/tests/test-largefiles.t
+++ b/tests/test-largefiles.t
@@ -2259,8 +2259,8 @@
   $ hg -R enabledlocally root
   $TESTTMP/individualenabling/enabledlocally (glob)
   $ hg -R notenabledlocally root
-  abort: unknown repository format: requires features 'largefiles' (upgrade Mercurial)!
-  (see http://mercurial.selenic.com/wiki/MissingRequirement for details)
+  abort: repository requires features unknown to this Mercurial: largefiles!
+  (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)
   [255]
 
   $ hg init push-dst
@@ -2276,8 +2276,8 @@
   [255]
 
   $ hg clone enabledlocally clone-dst
-  abort: unknown repository format: requires features 'largefiles' (upgrade Mercurial)!
-  (see http://mercurial.selenic.com/wiki/MissingRequirement for details)
+  abort: repository requires features unknown to this Mercurial: largefiles!
+  (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)
   [255]
   $ test -d clone-dst
   [1]
diff --git a/tests/test-requires.t b/tests/test-requires.t
index 202291a280fb6225bf7f811ed3b5ac6232c5b2af_dGVzdHMvdGVzdC1yZXF1aXJlcy50..f8e531a3a77cfe8aca930e60e66b5c25122a689e_dGVzdHMvdGVzdC1yZXF1aXJlcy50 100644
--- a/tests/test-requires.t
+++ b/tests/test-requires.t
@@ -9,8 +9,8 @@
   [255]
   $ echo indoor-pool > .hg/requires
   $ hg tip
-  abort: unknown repository format: requires features 'indoor-pool' (upgrade Mercurial)!
-  (see http://mercurial.selenic.com/wiki/MissingRequirement for details)
+  abort: repository requires features unknown to this Mercurial: indoor-pool!
+  (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)
   [255]
   $ echo outdoor-pool >> .hg/requires
   $ hg tip
@@ -14,8 +14,8 @@
   [255]
   $ echo outdoor-pool >> .hg/requires
   $ hg tip
-  abort: unknown repository format: requires features 'indoor-pool', 'outdoor-pool' (upgrade Mercurial)!
-  (see http://mercurial.selenic.com/wiki/MissingRequirement for details)
+  abort: repository requires features unknown to this Mercurial: indoor-pool outdoor-pool!
+  (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)
   [255]
   $ cd ..
 
@@ -62,8 +62,8 @@
   [255]
 
   $ hg clone supported clone-dst
-  abort: unknown repository format: requires features 'featuresetup-test' (upgrade Mercurial)!
-  (see http://mercurial.selenic.com/wiki/MissingRequirement for details)
+  abort: repository requires features unknown to this Mercurial: featuresetup-test!
+  (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)
   [255]
   $ hg clone --pull supported clone-dst
   abort: required features are not supported in the destination: featuresetup-test