identifying data structure used within repo.status()
Matt Mackall
mpm at selenic.com
Mon Feb 18 02:17:59 CST 2008
On Sun, 2008-02-17 at 15:01 +0000, TK Soh wrote:
> On Feb 17, 2008 12:00 PM, Matt Mackall <mpm at selenic.com> wrote:
> > On Sun, 2008-02-17 at 10:39 +0000, TK Soh wrote:
> > > I am investigating a potential memory leak in TortoiseHg's overlay
> > > icon extension that call repo.status() to retrieve the file status. I
> > > wonder if anyone recognize the follow data structure, and possible
> > > point me into the right place in Mercurial's source code:
> > >
> > > {'.hgignore': ('n', 33206, 320, 1201827364, 9),
> > > '.hgsigs': ('n', 33206, 792, 1201827364, 7),
> > > '.hgtags': ('n', 33206, 829, 1201827364, 7),
> > > 'CONTRIBUTORS': ('n', 33206, 1663, 1201827364, 12), ...}
> >
> > That's the dirstate.
>
> Thanks.
>
> BTW, gc.get_objects() shows that this data structure was somehow not
> garbage collected, and persisted cross repo.status() calls. Is this
> intentional?
It should survive as long as repo.dirstate (and repo) survives. But it
shouldn't grow.
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial-devel
mailing list