del transaction before lock before wlock
This way rollbacks happen while the repo is still locked.
Deleting lock before wlock is not strictly necessary, but is
more consistent with the locking order.
#!/bin/sh
mkdir t
cd t
hg init
echo import > port
hg add port
hg commit -m 0 -u spam -d '0 0'
echo export >> port
hg commit -m 1 -u eggs -d '1 0'
echo export > port
echo vaportight >> port
echo 'import/export' >> port
hg commit -m 2 -u spam -d '2 0'
echo 'import/export' >> port
hg commit -m 3 -u eggs -d '3 0'
head -n 3 port > port1
mv port1 port
hg commit -m 4 -u spam -d '4 0'
echo % pattern error
hg grep '**test**'
echo % simple
hg grep port port
echo % all
hg grep --all -nu port port
echo % other
hg grep import port
hg cp port port2
hg commit -m 4 -u spam -d '5 0'
echo '% follow'
hg grep -f 'import$' port2
echo deport >> port2
hg commit -m 5 -u eggs -d '6 0'
hg grep -f --all -nu port port2
cd ..
hg init t2
cd t2
hg grep foobar foo
hg grep foobar
echo blue >> color
echo black >> color
hg add color
hg ci -m 0 -d '0 0'
echo orange >> color
hg ci -m 1 -d '0 0'
echo black > color
hg ci -m 2 -d '0 0'
echo orange >> color
echo blue >> color
hg ci -m 3 -d '0 0'
hg grep orange
hg grep --all orange