Mercurial > hg
view tests/test-symlink-os-yes-fs-no.py.out @ 35035:96dcc78468e3 stable
tr-summary: keep a weakref to the unfiltered repository
Repoview can have a different life cycle, causing issue in some corner
cases. The particular instance that revealed this comes from localpeer. The
localpeer hold a reference to the unfiltered repository, but calling 'local()'
will create an on-demand 'visible' repoview. That repoview can be garbaged
collected any time. Here is a simplified step by step reproduction::
1) tr = peer.local().transaction('foo')
2) tr.close()
After (1), the repoview object is garbage collected, so weakref used in (2)
point to nothing.
Thanks to Sean Farley for helping raising and debugging this issue.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Fri, 24 Nov 2017 21:51:41 -0500 |
parents | eb586ed5d8ce |
children | 5ac84b20f184 |
line wrap: on
line source
requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 4 changes to 4 files new changesets d326ae2d01ee updating to branch default 4 files updated, 0 files merged, 0 files removed, 0 files unresolved requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 4 changes to 4 files new changesets d326ae2d01ee updating to branch default 4 files updated, 0 files merged, 0 files removed, 0 files unresolved