[PATCH 1 of 1] require: provide a link to a wiki page in addition of suggesting upgrade
pierre-yves.david at ens-lyon.org
pierre-yves.david at ens-lyon.org
Thu Mar 13 15:56:39 CDT 2014
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
# Date 1308962783 -7200
# Sat Jun 25 02:46:23 2011 +0200
# Node ID 3b2bd825bcc092ad23f0556beb4dc7c900b33564
# Parent 2764148aa088da248f74d1bf92e5d504f7f4db9a
require: provide a link to a wiki page in addition of suggesting upgrade
The wiki page is intended to describe several solution to the requirement issue.
Some of those solutions does not involve upgrading mercurial. That is very
useful for people that can't easily upgrade they Mercurial in some place.
diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py
--- a/mercurial/scmutil.py
+++ b/mercurial/scmutil.py
@@ -733,11 +733,13 @@ def readrequires(opener, supported):
missings.append(r)
missings.sort()
if missings:
raise error.RequirementError(
_("unknown repository format: requires features '%s' (upgrade "
- "Mercurial)") % "', '".join(missings))
+ "Mercurial)") % "', '".join(missings),
+ hint=_("see http://mercurial.selenic.com/wiki/MissingRequirement"
+ " for details"))
return requirements
class filecachesubentry(object):
def __init__(self, path, stat):
self.path = path
diff --git a/tests/test-commit.t b/tests/test-commit.t
--- a/tests/test-commit.t
+++ b/tests/test-commit.t
@@ -101,10 +101,11 @@ Make sure we do not obscure unknown requ
$ 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)
[255]
$ cd ..
diff --git a/tests/test-identify.t b/tests/test-identify.t
--- a/tests/test-identify.t
+++ b/tests/test-identify.t
@@ -112,13 +112,15 @@ test remote identify with bookmarks
Make sure we do not obscure unknown requires file entries (issue2649)
$ echo fake >> .hg/requires
$ hg id
abort: unknown repository format: requires features 'fake' (upgrade Mercurial)!
+ (see http://mercurial.selenic.com/wiki/MissingRequirement for details)
[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)
[255]
#endif
diff --git a/tests/test-largefiles.t b/tests/test-largefiles.t
--- a/tests/test-largefiles.t
+++ b/tests/test-largefiles.t
@@ -2258,10 +2258,11 @@ enabling largefiles extension.
> EOF
$ 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)
[255]
$ hg init push-dst
$ hg -R enabledlocally push push-dst
pushing to push-dst
@@ -2274,10 +2275,11 @@ enabling largefiles extension.
abort: required features are not supported in the destination: largefiles
[255]
$ hg clone enabledlocally clone-dst
abort: unknown repository format: requires features 'largefiles' (upgrade Mercurial)!
+ (see http://mercurial.selenic.com/wiki/MissingRequirement for details)
[255]
$ test -d clone-dst
[1]
$ hg clone --pull enabledlocally clone-pull-dst
abort: required features are not supported in the destination: largefiles
diff --git a/tests/test-requires.t b/tests/test-requires.t
--- a/tests/test-requires.t
+++ b/tests/test-requires.t
@@ -8,14 +8,16 @@
abort: index 00changelog.i unknown format 2!
[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)
[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)
[255]
$ cd ..
Test checking between features supported locally and ones required in
another repository of push/pull/clone on localhost:
@@ -59,10 +61,11 @@ another repository of push/pull/clone on
abort: required features are not supported in the destination: featuresetup-test
[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)
[255]
$ hg clone --pull supported clone-dst
abort: required features are not supported in the destination: featuresetup-test
[255]
More information about the Mercurial-devel
mailing list