[PATCH 1 of 1] require: provide a link to a wiki page in addition of suggesting upgrade
Augie Fackler
raf at durin42.com
Thu Mar 13 16:27:49 CDT 2014
On Thu, Mar 13, 2014 at 01:56:39PM -0700, pierre-yves.david at ens-lyon.org wrote:
> # 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
Queued, thanks.
>
> 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]
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list