diff --git a/mercurial/verify.py b/mercurial/verify.py --- a/mercurial/verify.py +++ b/mercurial/verify.py @@ -38,7 +38,7 @@ def _verify(repo): mf = repo.manifest lrugetctx = util.lrucachefunc(repo.changectx) - if not repo.cancopy(): + if not repo.url().startswith('file:'): raise util.Abort(_("cannot verify bundle or remote repos")) def err(linkrev, msg, filename=None): diff --git a/tests/test-phases.t b/tests/test-phases.t --- a/tests/test-phases.t +++ b/tests/test-phases.t @@ -549,4 +549,13 @@ test hidden changeset are not cloned as o 0 public A +test verify repo containing hidden changesets, which should not abort just +because repo.cancopy() is False + $ cd ../initialrepo + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 7 files, 8 changesets, 7 total revisions