Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-static-http @ 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 | 2a676ad52c22 |
children | d90a9d7c7d4d |
line wrap: on
line source
#!/bin/sh http_proxy= hg clone old-http://localhost:20059/ copy echo $? ls copy 2>/dev/null || echo copy: No such file or directory # This server doesn't do range requests so it's basically only good for # one pull cat > dumb.py <<EOF import BaseHTTPServer, SimpleHTTPServer, signal def run(server_class=BaseHTTPServer.HTTPServer, handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler): server_address = ('localhost', 20059) httpd = server_class(server_address, handler_class) httpd.serve_forever() signal.signal(signal.SIGTERM, lambda x: sys.exit(0)) run() EOF python dumb.py 2>/dev/null & mkdir remote cd remote hg init echo foo > bar hg add bar hg commit -m"test" -d "1000000 0" hg tip cd .. http_proxy= hg clone old-http://localhost:20059/remote local cd local hg verify cat bar http_proxy= hg pull kill $!