diff -r ee2e4a2c3690 -r 92d37fb3f1aa mercurial/hg.py --- a/mercurial/hg.py Thu Apr 28 08:52:13 2016 -0700 +++ b/mercurial/hg.py Wed Apr 27 22:45:52 2016 -0400 @@ -886,7 +886,11 @@ ctx = repo[rev] try: for subpath in ctx.substate: - ret = ctx.sub(subpath).verify() or ret + try: + ret = (ctx.sub(subpath, allowcreate=False).verify() + or ret) + except error.RepoError as e: + repo.ui.warn(_('%s: %s\n') % (rev, e)) except Exception: repo.ui.warn(_('.hgsubstate is corrupt in revision %s\n') % node.short(ctx.node()))