hg clone via http broken?

Michal Kvasnica kvasnica at gmail.com
Fri Mar 10 12:19:55 UTC 2006


>> $ hg clone http://control.ee.ethz.ch/~mpt/hg/mpt/
>> requesting all changes
>> adding changesets
>> adding manifests
>> adding file changes
>> abort: premature EOF reading chunk (got 1715651 bytes, expected 1851712)!
>> transaction abort!
>> rollback completed
[...]
> there is a memory error:
> 
> How many memory do you have ? can you monitor the memory usage from the cgi ?

Changing the cache size in revlog.py to 2Mb solved the problem:

diff -r 986e9b109113 mercurial/revlog.py
--- a/mercurial/revlog.py       Mon Mar 06 23:16:42 2006 +0100
+++ b/mercurial/revlog.py       Fri Mar 10 13:14:33 2006 +0100
@@ -501,7 +501,7 @@ class revlog(object):
         end = start + length

         def loadcache():
-            cache_length = max(4096 * 1024, length) # 4Mo
+            cache_length = max(2048 * 1024, length) # 2Mb
             df = self.opener(self.datafile)
             df.seek(start)
             self.chunkcache = (start, df.read(cache_length))

Is there a chance that the cache size could be configured via .hgrc?

Anyhow, I am still puzzled why a 4Mb cache worked with revision
35a05f177267 but does not work since 2e0a288ca93e.

michal




More information about the Mercurial mailing list