diff mercurial/localrepo.py @ 26118:049005de325e

revlog: add an aggressivemergedelta option This adds an option for delta'ing against both p1 and p2 when applying merge revisions and picking whichever is smallest. Some before and after stats on manifest.d size: internal large repo: before: 1.2 GB after: 930 MB mozilla-central: before: 261 MB after: 92 MB
author Durham Goode <durham@fb.com>
date Sun, 30 Aug 2015 14:03:32 -0700
parents 800e090e9c64
children 51a30cae2bff
line wrap: on
line diff
--- a/mercurial/localrepo.py	Sun Aug 30 13:58:11 2015 -0700
+++ b/mercurial/localrepo.py	Sun Aug 30 14:03:32 2015 -0700
@@ -354,6 +354,10 @@
         manifestcachesize = self.ui.configint('format', 'manifestcachesize')
         if manifestcachesize is not None:
             self.svfs.options['manifestcachesize'] = manifestcachesize
+        # experimental config: format.aggressivemergedeltas
+        aggressivemergedeltas = self.ui.configbool('format',
+            'aggressivemergedeltas', False)
+        self.svfs.options['aggressivemergedeltas'] = aggressivemergedeltas
 
     def _writerequirements(self):
         scmutil.writerequires(self.vfs, self.requirements)