grep: display correct user/revision for --all in reverse.
Also handle multiple occurrences of the same line by storing
linestates in an array instead of a dict, and using difflib
to compute the difference between linestates.
#!/bin/sh
HGRCPATH=$HGTMP/.hgrc; export HGRCPATH
echo "[extensions]" >> $HGTMP/.hgrc
echo "mq=" >> $HGTMP/.hgrc
cat > $HGTMP/false <<EOF
#!/bin/sh
exit 1
EOF
chmod +x $HGTMP/false
hg init foo
cd foo
echo foo > foo
hg add foo
# mq may keep a reference to the repository so __del__ will not be called
# and .hg/journal.dirstate will not be deleted:
HGEDITOR=$HGTMP/false hg ci
HGEDITOR=$HGTMP/false hg ci
exit 0