Mercurial > hg-stable
view tests/test-merge-revert @ 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 | 46280c004f22 |
children | 4c94b6d0fb1c |
line wrap: on
line source
#!/bin/sh mkdir t cd t hg init echo "added file1" > file1 echo "added file2" > file2 hg add file1 file2 hg commit -m "added file1 and file2" -d "1000000 0" -u user echo "changed file1" >> file1 hg commit -m "changed file1" -d "1000000 0" -u user hg -q log hg id hg update -C 0 hg id echo "changed file1" >> file1 hg id hg revert --all hg diff hg status hg id hg update hg diff hg status hg id hg update -C 0 echo "changed file1" >> file1 hg update hg diff hg status hg id hg revert --all hg diff hg status hg id hg revert -r tip --all hg diff hg status hg id hg update -C hg diff hg status hg id