filename:hash points to unexpected changeset

Matt Mackall mpm at selenic.com
Sun Aug 5 17:28:22 CDT 2007


On Sun, Aug 05, 2007 at 04:17:52PM -0400, Norman Walsh wrote:
> Concerned by the problems I'm having with one repository, I decided to
> run hg verify on each of them. On another, I encountered the following
> problems:
> 
> $ hg verify
> checking changesets
> checking manifests
> crosschecking files in changesets and manifests
> checking files
> 2000/06/edinburgh.xml:5bfc5b1e7250 points to unexpected changeset 1366
> 2001/03/belchertown.xml:47c3592e607d points to unexpected changeset 1366
> ...
> 2004/10/08/fountains.xml:f3c6af10778b points to unexpected changeset 1366
> 6777 files, 1406 changesets, 13917 total revisions
> 36 integrity errors encountered!

Never seen that before either. This message says that changeset 1366
didn't mention this change, but when we stored the file change, we
recorded it as part of 1366.

This should be harmless, but it's a bit of a mystery how this could
happen.

Please try again with this patch:

diff -r bac4fe4c6316 mercurial/verify.py
--- a/mercurial/verify.py       Thu Aug 02 23:41:16 2007 -0500
+++ b/mercurial/verify.py       Sun Aug 05 17:20:18 2007 -0500
@@ -164,6 +164,7 @@ def _verify(repo):
             if flr not in filelinkrevs.get(f, []):
                 err(_("%s:%s points to unexpected changeset %d")
                         % (f, short(n), flr))
+                err(_("expecting one of %s" % filelinkrevs.get(f, [])))
             else:
                 filelinkrevs[f].remove(flr)

-- 
Mathematics is the supreme nostalgia of our time.


More information about the Mercurial mailing list