dirstate: fix rebuild; add a test
If rebuild calls invalidate, it will just queue a (re)read of the dirstate
file, while what we really want is to empty the current state.
#!/bin/sh
#
# test for issue351
# Environement setup for MQ
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
#Repo init
hg init
hg qinit
echo b > b
hg ci -A -m foo
echo cc > b
hg qnew -f foo.diff
echo b > b
hg qrefresh
hg debugindex .hg/store/data/b.i