# HG changeset patch # User Vadim Gelfer # Date 1147123237 25200 # Node ID 8b106ff5b8a980b1d76a8ee66461a4b6a35243a0 # Parent 4f072bb06e897e6e032821d79621073277943403# Parent b72562060e45ddca95a25a85f00e35bf598c69dd merge with mainline. 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 diff --git a/tests/test-copy b/tests/test-copy --- a/tests/test-copy +++ b/tests/test-copy @@ -22,7 +22,7 @@ hg debugindex .hg/data/b.i echo "this should show the rename information in the metadata" hg debugdata .hg/data/b.d 0 | head -3 | tail -2 -$TESTDIR/md5sum.py .hg/data/b.d +$TESTDIR/md5sum.py .hg/data/b.i hg cat b > bsum $TESTDIR/md5sum.py bsum hg cat a > asum diff --git a/tests/test-copy.out b/tests/test-copy.out --- a/tests/test-copy.out +++ b/tests/test-copy.out @@ -41,7 +41,7 @@ this should show a revision linked to ch this should show the rename information in the metadata copyrev: b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 copy: a -566e338d09a089ba737c21e0d3759980 .hg/data/b.d +ed156f22f0a6fde642de0b5eba0cbbb2 .hg/data/b.i 60b725f10c9c85c70d97880dfe8191b3 bsum 60b725f10c9c85c70d97880dfe8191b3 asum checking changesets diff --git a/tests/test-hup.out b/tests/test-hup.out --- a/tests/test-hup.out +++ b/tests/test-hup.out @@ -4,7 +4,6 @@ adding changesets killed! transaction abort! rollback completed -00changelog.d 00changelog.i data journal.dirstate diff --git a/tests/test-permissions b/tests/test-permissions --- a/tests/test-permissions +++ b/tests/test-permissions @@ -5,11 +5,11 @@ echo foo > a hg add a hg commit -m "1" -d "1000000 0" hg verify -chmod -r .hg/data/a.d +chmod -r .hg/data/a.i hg verify 2>/dev/null || echo verify failed -chmod +r .hg/data/a.d +chmod +r .hg/data/a.i hg verify 2>/dev/null || echo verify failed -chmod -w .hg/data/a.d +chmod -w .hg/data/a.i echo barber > a hg commit -m "2" -d "1000000 0" 2>/dev/null || echo commit failed