Mercurial > public > mercurial-scm > hg-stable
diff mercurial/store.py @ 25091:b5052fc73300
treemanifest: store submanifest revlog per directory
With this change, when tree manifests are enabled (in .hg/requires),
commits will be written with one manifest revlog per directory. The
manifest revlogs are stored in
.hg/store/meta/$dir/00manifest.[id].
Flat manifests can still be read and interacted with as usual (they
are also read into treemanifest instances). The functionality for
writing treemanifest as a flat manifest to disk is still left in the
code; tests still pass with '_treeinmem=True' hardcoded.
Exchange is not yet implemented.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 13 Apr 2015 23:21:02 -0700 |
parents | b7a8e9fa605f |
children | e93036747902 |
line wrap: on
line diff
--- a/mercurial/store.py Fri May 15 10:29:39 2015 -0500 +++ b/mercurial/store.py Mon Apr 13 23:21:02 2015 -0700 @@ -187,7 +187,7 @@ def _hashencode(path, dotencode): digest = _sha(path).hexdigest() - le = lowerencode(path[5:]).split('/') # skips prefix 'data/' + le = lowerencode(path[5:]).split('/') # skips prefix 'data/' or 'meta/' parts = _auxencode(le, dotencode) basename = parts[-1] _root, ext = os.path.splitext(basename)