log: slowpath: only walk specified revision range during preparation
Even with --removed, it does not make sense to examine changesets outside
of the revision range that was specified by the user: the last phase only
yields a subset of (revs), preparation phase hence only has to examine
(revs) to fill correctly fncache.
#!/bin/sh
hg init a
cd a
touch empty1
hg add empty1
hg commit -m 'add empty1' -d '1000000 0'
touch empty2
hg add empty2
hg commit -m 'add empty2' -d '1000000 0'
hg up -C 0
touch empty3
hg add empty3
hg commit -m 'add empty3' -d '1000000 0'
hg heads
hg merge 1
# before changeset 05257fd28591, we didn't notice the
# empty file that came from rev 1.
hg status
hg commit -m merge -d '1000000 0'
hg manifest --debug tip