Mercurial > hg
diff hgext/sqlitestore.py @ 45230:5d0998ccedbb
commitctx: stop using weakref proxy for transaction
This weakref proxy was introduced in 2007 by 30d4d8985dd8.
If I understand it correctly, the logic at that time was relying on the
transaction destructor, triggered at garbage collection time to rollback failed
transaction. passing the object to sub function directly mean it would live in
the function scope and be trapped in the traceback on exception, leading to the
transaction rollback too late in some case.
Modern transaction usage use explicit opening and closing of transaction and no
longer rely on some internal reference counting details. So this weakref proxy
is no longer necessary. Absolutely no test are affected when we drop it.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 24 Jul 2020 12:52:32 +0200 |
parents | 2d49482d0dd4 |
children | 77b8588dd84e |