Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-extension @ 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 | 93b7e2fa7ee3 |
children |
line wrap: on
line source
#!/bin/sh # Test basic extension support cat > foobar.py <<EOF import os from mercurial import commands def uisetup(ui): ui.write("uisetup called\\n") ui.write("ui.parentui is%s None\\n" % (ui.parentui is not None and "not" or "")) def reposetup(ui, repo): ui.write("reposetup called for %s\\n" % os.path.basename(repo.root)) ui.write("ui %s= repo.ui\\n" % (ui == repo.ui and "=" or "!")) def foo(ui, *args, **kwargs): ui.write("Foo\\n") def bar(ui, *args, **kwargs): ui.write("Bar\\n") cmdtable = { "foo": (foo, [], "hg foo"), "bar": (bar, [], "hg bar"), } commands.norepo += ' bar' EOF abspath=`pwd`/foobar.py mkdir barfoo cp foobar.py barfoo/__init__.py barfoopath=`pwd`/barfoo hg init a cd a echo foo > file hg add file hg commit -m 'add file' echo '[extensions]' >> $HGRCPATH echo "foobar = $abspath" >> $HGRCPATH hg foo cd .. hg clone a b hg bar echo '% module/__init__.py-style' echo '[extensions]' > $HGRCPATH echo "barfoo = $barfoopath" >> $HGRCPATH cd a hg foo cd .. cat > empty.py <<EOF '''empty cmdtable ''' cmdtable = {} EOF emptypath=`pwd`/empty.py echo '[extensions]' > $HGRCPATH echo "empty = $emptypath" >> $HGRCPATH hg help empty cat > debugextension.py <<EOF '''only debugcommands ''' def debugfoobar(ui, repo, *args, **opts): "yet another debug command" pass cmdtable = {"debugfoobar": (debugfoobar, (), "hg debugfoobar")} EOF debugpath=`pwd`/debugextension.py echo '[extensions]' > $HGRCPATH echo "debugextension = $debugpath" >> $HGRCPATH hg help debugextension hg --debug help debugextension