D4372: index: embed nodetree in index object to avoid reference cycle

2018-09-03 Thread mharbison72 (Matt Harbison)
mharbison72 added a comment. I haven't had time to dig into this, but I bisected a hard crash back to here on Windows. --- c:/Users/Matt/projects/hg/tests/test-revisions.t +++ c:/Users/Matt/projects/hg/tests/test-revisions.t.err @@ -40,6 +40,6 @@ [255] 7b is no longe

D4372: index: embed nodetree in index object to avoid reference cycle

2018-08-27 Thread martinvonz (Martin von Zweigbergk)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG9f097214fbf3: index: embed nodetree in index object to avoid reference cycle (authored by martinvonz, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.or

D4372: index: embed nodetree in index object to avoid reference cycle

2018-08-27 Thread martinvonz (Martin von Zweigbergk)
martinvonz updated this revision to Diff 10601. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D4372?vs=10550&id=10601 REVISION DETAIL https://phab.mercurial-scm.org/D4372 AFFECTED FILES mercurial/cext/revlog.c CHANGE DETAILS diff --git a/mercurial/c

D4372: index: embed nodetree in index object to avoid reference cycle

2018-08-27 Thread martinvonz (Martin von Zweigbergk)
martinvonz added a comment. In https://phab.mercurial-scm.org/D4372#67157, @yuja wrote: > > -static int nt_init_py(nodetree *self, PyObject *args) > > +static int ntobj_init(nodetreeObject *self, PyObject *args) > > > > { > > PyObject *index; > > unsigned

D4372: index: embed nodetree in index object to avoid reference cycle

2018-08-25 Thread yuja (Yuya Nishihara)
yuja added a comment. > -static int nt_init_py(nodetree *self, PyObject *args) > +static int ntobj_init(nodetreeObject *self, PyObject *args) > > { > PyObject *index; > unsigned capacity; > > + int ret; > > if (!PyArg_ParseTuple(args, "O!I", &indexType, &in

Re: D4372: index: embed nodetree in index object to avoid reference cycle

2018-08-25 Thread Yuya Nishihara
> -static int nt_init_py(nodetree *self, PyObject *args) > +static int ntobj_init(nodetreeObject *self, PyObject *args) > { > PyObject *index; > unsigned capacity; > + int ret; > if (!PyArg_ParseTuple(args, "O!I", &indexType, &index, &capacity)) > return -1; > -

D4372: index: embed nodetree in index object to avoid reference cycle

2018-08-24 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Since the index has a reference to a nodetree and the nodetree has a reference back to the index, there is a reference cycle, so the index (and its nodetree)