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
hg init
echo a > a
hg ci -d '0 0' -Ama
hg an a
echo "[ui]" >> $HGRCPATH
echo "strict=True" >> $HGRCPATH
hg an a
hg annotate a
echo % should succeed - up is an alias, not an abbreviation
hg up