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.
import doctestimport mercurial.changelog# test doctest from changelogdoctest.testmod(mercurial.changelog)