# HG changeset patch # User mason@suse.com # Date 2006-05-08 19:26:18 # Node ID c9e264b115e6d89f9fa5d80d4dcab48828e83cca # Parent 05b6c13f43c6952a090ee1f0643f9d25aa3228b7 Use revlogng and inlined data files by default This changes revlog specify revlogng by default. Inlined data files are also used unless a flags option is found in the .hgrc. Some example hgrc files: [revlog] # use the original revlog format format=0 [revlog] # use revlogng. Because no flags are included, inlined data files # also be selected format=1 [revlog] # use revlogng but do not inline the data files with the index flags= [revlog] # the new default format=1 flags=inline diff --git a/mercurial/filelog.py b/mercurial/filelog.py --- a/mercurial/filelog.py +++ b/mercurial/filelog.py @@ -11,7 +11,7 @@ from demandload import * demandload(globals(), "bdiff") class filelog(revlog): - def __init__(self, opener, path, defversion=0): + def __init__(self, opener, path, defversion=REVLOG_DEFAULT_VERSION): revlog.__init__(self, opener, os.path.join("data", self.encodedir(path + ".i")), os.path.join("data", self.encodedir(path + ".d")), diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -43,11 +43,15 @@ class localrepository(object): pass v = self.ui.revlogopts - self.revlogversion = int(v.get('format', revlog.REVLOGV0)) + self.revlogversion = int(v.get('format', revlog.REVLOG_DEFAULT_FORMAT)) self.revlogv1 = self.revlogversion != revlog.REVLOGV0 + fl = v.get('flags', None) flags = 0 - for x in v.get('flags', "").split(): - flags |= revlog.flagstr(x) + if fl != None: + for x in fl.split(): + flags |= revlog.flagstr(x) + elif self.revlogv1: + flags = revlog.REVLOG_DEFAULT_FLAGS v = self.revlogversion | flags self.manifest = manifest.manifest(self.opener, v) diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -22,6 +22,10 @@ REVLOGNG = 1 # revlog flags REVLOGNGINLINEDATA = (1 << 16) +REVLOG_DEFAULT_FLAGS = REVLOGNGINLINEDATA + +REVLOG_DEFAULT_FORMAT = REVLOGNG +REVLOG_DEFAULT_VERSION = REVLOG_DEFAULT_FORMAT | REVLOG_DEFAULT_FLAGS def flagstr(flag): if flag == "inline": @@ -293,7 +297,8 @@ class revlog(object): remove data, and can use some simple techniques to avoid the need for locking while reading. """ - def __init__(self, opener, indexfile, datafile, defversion=REVLOGV0): + def __init__(self, opener, indexfile, datafile, + defversion=REVLOG_DEFAULT_VERSION): """ create a revlog object