Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-push-warn @ 2255:3f38e872f39a
Reduce ram used for very large inlined index files
During a clone, an inline index is not converted to a split index
file until the very end. When the conversion happens, the index
can be very large, and the inline index loading functions always load
the entire index file into ram.
This changes the revlog code to read the index in smaller chunks.
author | mason@suse.com |
---|---|
date | Wed, 10 May 2006 15:26:56 -0700 |
parents | fc22ed56afe3 |
children | e506c14382fd |
line wrap: on
line source
#!/bin/sh mkdir a cd a hg init echo foo > t1 hg add t1 hg commit -m "1" -d "1000000 0" cd .. hg clone a b cd a echo foo > t2 hg add t2 hg commit -m "2" -d "1000000 0" cd ../b echo foo > t3 hg add t3 hg commit -m "3" -d "1000000 0" hg push ../a hg pull ../a hg push ../a hg up -m hg commit -m "4" -d "1000000 0" hg push ../a cd .. hg init c cd c for i in 0 1 2; do echo $i >> foo hg ci -Am $i -d "1000000 0" done cd .. hg clone c d cd d for i in 0 1; do hg co -C $i echo d-$i >> foo hg ci -m d-$i -d "1000000 0" done HGMERGE=true hg co -m 3 hg ci -m c-d -d "1000000 0" hg push ../c hg push -r 2 ../c hg push -r 3 -r 4 ../c hg push -r 5 ../c exit 0