HomePhabricator

tags: validate nodes in _getfnodes() and update cache in case of unknown nodes

Authored by pulkit.

Description

tags: validate nodes in _getfnodes() and update cache in case of unknown nodes

hgtagsfnodescache can contain unknown nodes due to cache corruption and this
lead to a traceback on operations like hg tags as we don't validate nodes.

This patch validates that all filenodes returned after hgtagsfnodescache are
known to the repository. If there exists any unknown filenode, we force
recompute it and update the cache.

The test change demonstrates the fix.

Differential Revision: https://phab.mercurial-scm.org/D10083