diff mercurial/scmutil.py @ 14746:72e4fcb43227 stable

requirements: show all missing features in the error message. Displaying all missing featureis help people to solve the issue (choosing the right version, creation the right repo)
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Sat, 25 Jun 2011 02:30:24 +0200
parents 36283a7b6856
children 6ed2a449cb5b
line wrap: on
line diff
--- a/mercurial/scmutil.py	Fri Jun 24 23:29:51 2011 +0200
+++ b/mercurial/scmutil.py	Sat Jun 25 02:30:24 2011 +0200
@@ -698,10 +698,14 @@
     '''Reads and parses .hg/requires and checks if all entries found
     are in the list of supported features.'''
     requirements = set(opener.read("requires").splitlines())
+    missings = []
     for r in requirements:
         if r not in supported:
             if not r or not r[0].isalnum():
                 raise error.RequirementError(_(".hg/requires file is corrupt"))
-            raise error.RequirementError(_("unknown repository format: "
-                "requires feature '%s' (upgrade Mercurial)") % r)
+            missings.append(r)
+    missings.sort()
+    if missings:
+        raise error.RequirementError(_("unknown repository format: "
+            "requires features '%s' (upgrade Mercurial)") % "', '".join(missings))
     return requirements