This instance will be upgraded to Heptapod 0.23.2 on 2021-08-05 at 11:00 UTC+2 (a few minutes of down time)

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
13 jobs for topic/default/tags-better in 30 minutes and 45 seconds (queued for 7 seconds)
Status Job ID Name Coverage
  Tests
passed #173143
checks-py2

00:04:33

passed #173144
checks-py3

00:02:45

passed #173145
rust-cargo-test-py2

00:01:40

passed #173146
rust-cargo-test-py3

00:02:41

passed #173147
test-py2

00:14:05

passed #173153
test-py2-chg

00:24:50

passed #173149
test-py2-pure

00:25:41

passed #173151
test-py2-rust

00:26:44

passed #173148
test-py3

00:17:12

passed #173154
test-py3-chg

00:09:43

passed #173150
test-py3-pure

00:12:44

passed #173152
test-py3-rust

00:22:33

 
  Phabricator
passed #173155
phabricator-refresh

00:00:31