diff -r e8982483f9dc -r f009804e2a43 mercurial/localrepo.py --- a/mercurial/localrepo.py Thu Jan 17 01:06:00 2013 +0100 +++ b/mercurial/localrepo.py Tue Dec 11 20:13:21 2012 +0100 @@ -2311,6 +2311,9 @@ n = fl.node(new) if n in needs: needs.remove(n) + else: + raise util.Abort( + _("received spurious file revlog entry")) if not needs: del needfiles[f] self.ui.progress(_('files'), None)