diff -r 1bd9f3a6a0d0 -r 31d15f761631 mercurial/localrepo.py --- a/mercurial/localrepo.py Tue Apr 05 19:48:44 2011 +0200 +++ b/mercurial/localrepo.py Mon Apr 04 22:51:10 2011 +0300 @@ -362,7 +362,12 @@ tags = {} for (name, (node, hist)) in alltags.iteritems(): if node != nullid: - tags[encoding.tolocal(name)] = node + try: + # ignore tags to unknown nodes + self.changelog.lookup(node) + tags[encoding.tolocal(name)] = node + except error.LookupError: + pass tags['tip'] = self.changelog.tip() tagtypes = dict([(encoding.tolocal(name), value) for (name, value) in tagtypes.iteritems()])