This is following up on review of patch2033.
Testing the issue more systematically revealed that repair can still fail to
detect missing hashed files, and not just those representing directories but
also those representing files.
The problem is that I forgot to expand the trees before updating the hashes.
Expanding forces reading all hashed files that represent directories and
afterwards darcsUpdateHashes will also force reading of those that represent
files. With this second fix 'darcs check' fails each time saying "Unable to
read the recorded state, try repair." and then repair says "Fixing pristine
tree...".
3 patches for repository http://darcs.net/screened:
patch ab91cc2137a2f36a82f26ef6e8fd85759173bfbc
Author: Ben Franksen <ben.franksen@online.de>
Date: Tue Jul 21 22:07:39 CEST 2020
* tests/repairs.sh: remove obsolete setting of ignore-times default
patch 5a5ca2de9c436a24d44dde0ca33b69ffe9e1efe2
Author: Ben Franksen <ben.franksen@online.de>
Date: Tue Jul 21 22:18:42 CEST 2020
* in darcs check/repair, expand the pristine tree
This finally fixes detection of missing (hashed) pristine files.
patch 362a17e682299ab3ea9bfc8329a6bd80476d732e
Author: Ben Franksen <ben.franksen@online.de>
Date: Tue Jul 21 22:09:09 CEST 2020
* extend tests/repair.sh with missing pristine files