Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-convert-darcs @ 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 | a19167001251 |
children |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" darcs || exit 80 echo "[extensions]" >> $HGRCPATH echo "convert=" >> $HGRCPATH echo 'hgext.graphlog =' >> $HGRCPATH DARCS_EMAIL='test@example.org'; export DARCS_EMAIL HOME=do_not_use_HOME_darcs; export HOME echo % initialize darcs repo mkdir darcs-repo cd darcs-repo darcs init echo a > a darcs record -a -l -m p0 cd .. echo % branch and update darcs get darcs-repo darcs-clone cd darcs-clone echo c >> a echo c > c darcs record -a -l -m p1.1 cd .. echo % update source cd darcs-repo echo b >> a echo b > b darcs record -a -l -m p1.2 echo % merge branch darcs pull -a ../darcs-clone echo e > a darcs record -a -l -m p2 cd .. glog() { hg glog --template '#rev# "#desc|firstline#" files: #files#\n' "$@" } hg convert darcs-repo darcs-repo-hg # The converter does not currently handle patch conflicts very well. # When they occur, it reverts *all* changes and moves forward, # letting the conflict resolving patch fix collisions. # Unfortunately, non-conflicting changes, like the addition of the # "c" file in p1.1 patch are reverted too. # Just to say that manifest not listing "c" here is a bug. glog -R darcs-repo-hg hg -R darcs-repo-hg manifest --debug