transactions: avoid late tear-down (issue641)
We use weak references (ugh) to avoid having to manually delete
transaction references out of each call frame when an exception occurs.
#!/bin/sh
# test command parsing and dispatch
hg init a
cd a
echo a > a
hg ci -Ama -d '0 0'
echo "# missing arg"
hg cat
echo '% [defaults]'
hg cat a
cat > $HGRCPATH <<EOF
[defaults]
cat = -v
EOF
hg cat a
echo '% no repo'
cd ..
hg cat
exit 0