Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-log @ 5451:0a43875677b1
revlog: break up compression of large deltas
Python's zlib apparently makes an internal copy of strings passed to
compress(). To avoid this, compress strings 1M at a time, then join
them at the end if the result would be smaller than the original.
For initial commits of large but compressible files, this cuts peak
memory usage nearly in half.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 11 Oct 2007 00:46:54 -0500 |
parents | e0bc2c575044 |
children |
line wrap: on
line source
#!/bin/sh hg init a cd a echo a > a hg ci -Ama -d '1 0' hg cp a b hg ci -mb -d '2 0' mkdir dir hg mv b dir hg ci -mc -d '3 0' hg mv a b echo a > d hg add d hg ci -md -d '4 0' hg mv dir/b e hg ci -me -d '5 0' hg log a echo % -f, directory hg log -f dir echo % -f, but no args hg log -f echo % one rename hg log -vf a echo % many renames hg log -vf e echo % log copies hg log -vC --template '{rev} {file_copies%filecopy}\n' echo % log copies, non-linear manifest hg up -C 3 hg mv dir/b e echo foo > foo hg ci -Ame2 -d '6 0' hg log -vC --template '{rev} {file_copies%filecopy}\n' -r 5 echo '% log -p d' hg log -pv d # log --follow tests hg init ../follow cd ../follow echo base > base hg ci -Ambase -d '1 0' echo r1 >> base hg ci -Amr1 -d '1 0' echo r2 >> base hg ci -Amr2 -d '1 0' hg up -C 1 echo b1 > b1 hg ci -Amb1 -d '1 0' echo % log -f hg log -f hg up -C 0 echo b2 > b2 hg ci -Amb2 -d '1 0' echo % log -f -r 1:tip hg log -f -r 1:tip hg up -C 3 hg merge tip echo % log -r . with two parents hg log -r . hg ci -mm12 -d '1 0' echo % log -r . with one parent hg log -r . echo postm >> b1 hg ci -Amb1.1 -d'1 0' echo % log --follow-first hg log --follow-first echo % log -P 2 hg log -P 2 echo '% log -r ""' hg log -r '' exit 0