Mercurial > hg-stable
view tests/test-rawcommit1 @ 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 | ad3d5b4367cb |
children |
line wrap: on
line source
#!/bin/sh hg --debug init echo this is a1 > a hg add a hg commit -m0 -d "1000000 0" echo this is b1 > b hg add b hg commit -m1 -d "1000000 0" hg manifest --debug 1 echo this is c1 > c hg rawcommit -p 1 -d "1000000 0" -m2 c hg manifest --debug 2 hg -v parents rm b hg rawcommit -p 2 -d "1000000 0" -m3 b hg manifest --debug 3 hg -v parents echo this is a22 > a hg rawcommit -p 3 -d "1000000 0" -m4 a hg manifest --debug 4 hg -v parents echo this is c22 > c hg rawcommit -p 1 -d "1000000 0" -m5 c hg manifest --debug 5 hg -v parents # merge, but no files changed hg rawcommit -p 4 -p 5 -d "1000000 0" -m6 hg manifest --debug 6 hg -v parents # no changes what-so-ever hg rawcommit -p 6 -d "1000000 0" -m7 hg manifest --debug 7 hg -v parents