comparison mercurial/localrepo.py @ 2073:1e6745f78989

Implement data inlined with the index file This patch allows you to optionally inline data bytes with the revlog index file. It saves considerable space and checkout time by reducing the number of inodes, wasted partial blocks and system calls. To use the inline data add this to your .hgrc [revlog] # inline data only works with revlogng format=1 # inline is the only valid flag right now. flags=inline
author mason@suse.com
date Tue, 04 Apr 2006 16:38:43 -0400
parents 74d3f5336b66
children 343aeefb553b
comparison
equal deleted inserted replaced
2072:74d3f5336b66 2073:1e6745f78989
41 except IOError: 41 except IOError:
42 pass 42 pass
43 43
44 v = self.ui.revlogopts 44 v = self.ui.revlogopts
45 self.revlogversion = int(v.get('format', 0)) 45 self.revlogversion = int(v.get('format', 0))
46 flags = 0
46 for x in v.get('flags', "").split(): 47 for x in v.get('flags', "").split():
47 self.revlogversion |= revlog.flagstr(x) 48 flags |= revlog.flagstr(x)
48 49
49 self.manifest = manifest.manifest(self.opener, self.revlogversion) 50 v = self.revlogversion | flags
50 self.changelog = changelog.changelog(self.opener, self.revlogversion) 51 self.manifest = manifest.manifest(self.opener, v)
51 self.revlogversion = self.changelog.version 52 self.changelog = changelog.changelog(self.opener, v)
53
54 # the changelog might not have the inline index flag
55 # on. If the format of the changelog is the same as found in
56 # .hgrc, apply any flags found in the .hgrc as well.
57 # Otherwise, just version from the changelog
58 v = self.changelog.version
59 if v == self.revlogversion:
60 v |= flags
61 self.revlogversion = v
62
52 self.tagscache = None 63 self.tagscache = None
53 self.nodetagscache = None 64 self.nodetagscache = None
54 self.encodepats = None 65 self.encodepats = None
55 self.decodepats = None 66 self.decodepats = None
56 self.transhandle = None 67 self.transhandle = None