verify: fix "missing revlog!" errors for revlog format v0 and add test
With revlog format v0 the .d files are empty if the only revision stored is an
empty file. Since Mercurial can no longer create format v0 repositories, but
still use it, add a script which creates a repository with a single empty file.
This can be used in other tests if wanted.
#!/bin/sh
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
hg init foo
cd foo
echo a > a
hg ci -qAm a
echo %% default queue
hg qqueue
echo b > a
hg qnew -fgDU somestuff
echo %% applied patches in default queue
hg qap
echo %% try to change patch \(create succeeds, switch fails\)
hg qqueue foo --create
hg qqueue
echo %% empty default queue
hg qpop
echo %% switch queue
hg qqueue foo
hg qqueue
echo %% fail creating queue with already existing name
hg qqueue --create foo
hg qqueue
echo %% unapplied patches
hg qun
echo c > a
hg qnew -fgDU otherstuff
echo %% fail switching back
hg qqueue patches
echo %% fail deleting current
hg qqueue foo --delete
echo %% switch back and delete foo
hg qpop -a
hg qqueue patches
hg qqueue foo --delete
hg qqueue
echo %% tricky cases
hg qqueue store --create
hg qnew journal
hg qqueue
hg qpop -a
hg qqueue patches
hg qun
echo %% invalid names
hg qqueue test/../../bar --create
hg qqueue . --create
cd ..