Mercurial > hg-stable
view tests/test-context.py @ 4946:e8f4e40f285a
convert/subversion: work around memory leak in svn's python bindings
The svn.ra.get_log wrapper attaches the hash of changed paths for every
log entry to a global memory pool, so memory consumption increases
rapidly, with no way to free it.
Our workaround is to call this function in a child process, and feed
its results back over a pipe. The memory consumption of the child still
grows huge (hundreds of megabytes), but at least it goes away once the
reading-the-log phase is done.
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Thu, 19 Jul 2007 12:41:07 -0700 |
parents | 20af6a2f0b0e |
children | ce21f76751f4 |
line wrap: on
line source
import os from mercurial import hg, ui, commands u = ui.ui() repo = hg.repository(u, 'test1', create=1) os.chdir('test1') repo = hg.repository(u, '.') # FIXME: can't lock repo without doing this # create 'foo' with fixed time stamp f = file('foo', 'w') f.write('foo\n') f.close() os.utime('foo', (1000, 1000)) # add+commit 'foo' repo.add(['foo']) repo.commit(text='commit1', date="0 0") print "workingfilectx.date =", repo.workingctx().filectx('foo').date()