Mercurial > hg-stable
changeset 50688:e324329fc97e
store: use the revlog type from revlog's constant instead of custom one
We already have a revlog type that everybody use. So we use that one instead.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 02 Jun 2023 15:10:50 +0200 |
parents | 8f7e189af9dc |
children | 47b44d80d836 |
files | mercurial/store.py |
diffstat | 1 files changed, 13 insertions(+), 36 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/store.py Mon Jun 12 23:24:41 2023 +0200 +++ b/mercurial/store.py Fri Jun 02 15:10:50 2023 +0200 @@ -1,4 +1,4 @@ -# store.py - repository store handling for Mercurial +# store.py - repository store handling for Mercurial) # # Copyright 2008 Olivia Mackall <olivia@selenic.com> # @@ -18,6 +18,9 @@ from .node import hex from .revlogutils.constants import ( INDEX_HEADER, + KIND_CHANGELOG, + KIND_FILELOG, + KIND_MANIFESTLOG, ) from . import ( changelog, @@ -431,32 +434,6 @@ return False -# the file is part of changelog data -FILEFLAGS_CHANGELOG = 1 << 13 -# the file is part of manifest data -FILEFLAGS_MANIFESTLOG = 1 << 12 -# the file is part of filelog data -FILEFLAGS_FILELOG = 1 << 11 -# file that are not directly part of a revlog -FILEFLAGS_OTHER = 1 << 10 - -# the main entry point for a revlog -FILEFLAGS_REVLOG_MAIN = 1 << 1 -# a secondary file for a revlog -FILEFLAGS_REVLOG_OTHER = 1 << 0 - -# files that are "volatile" and might change between listing and streaming -FILEFLAGS_VOLATILE = 1 << 20 - -FILETYPE_CHANGELOG_MAIN = FILEFLAGS_CHANGELOG | FILEFLAGS_REVLOG_MAIN -FILETYPE_CHANGELOG_OTHER = FILEFLAGS_CHANGELOG | FILEFLAGS_REVLOG_OTHER -FILETYPE_MANIFESTLOG_MAIN = FILEFLAGS_MANIFESTLOG | FILEFLAGS_REVLOG_MAIN -FILETYPE_MANIFESTLOG_OTHER = FILEFLAGS_MANIFESTLOG | FILEFLAGS_REVLOG_OTHER -FILETYPE_FILELOG_MAIN = FILEFLAGS_FILELOG | FILEFLAGS_REVLOG_MAIN -FILETYPE_FILELOG_OTHER = FILEFLAGS_FILELOG | FILEFLAGS_REVLOG_OTHER -FILETYPE_OTHER = FILEFLAGS_OTHER - - @attr.s(slots=True) class StoreFile: """a file matching a store entry""" @@ -586,15 +563,15 @@ @property def is_changelog(self): - return self.revlog_type & FILEFLAGS_CHANGELOG + return self.revlog_type == KIND_CHANGELOG @property def is_manifestlog(self): - return self.revlog_type & FILEFLAGS_MANIFESTLOG + return self.revlog_type == KIND_MANIFESTLOG @property def is_filelog(self): - return self.revlog_type & FILEFLAGS_FILELOG + return self.revlog_type == KIND_FILELOG def main_file_path(self): """unencoded path of the main revlog file""" @@ -812,8 +789,8 @@ be a list and the filenames that can't be decoded are added to it instead. This is very rarely needed.""" dirs = [ - (b'data', FILEFLAGS_FILELOG, False), - (b'meta', FILEFLAGS_MANIFESTLOG, True), + (b'data', KIND_FILELOG, False), + (b'meta', KIND_MANIFESTLOG, True), ] for base_dir, rl_type, strip_filename in dirs: files = self._walk(base_dir, True, undecodable=undecodable) @@ -865,8 +842,8 @@ ) # yield manifest before changelog top_rl = [ - (manifestlogs, FILEFLAGS_MANIFESTLOG), - (changelogs, FILEFLAGS_CHANGELOG), + (manifestlogs, KIND_MANIFESTLOG), + (changelogs, KIND_CHANGELOG), ] assert len(manifestlogs) <= 1 assert len(changelogs) <= 1 @@ -1159,10 +1136,10 @@ by_revlog = _gather_revlog(files) for revlog, details in by_revlog: if revlog.startswith(b'data/'): - rl_type = FILEFLAGS_FILELOG + rl_type = KIND_FILELOG revlog_target_id = revlog.split(b'/', 1)[1] elif revlog.startswith(b'meta/'): - rl_type = FILEFLAGS_MANIFESTLOG + rl_type = KIND_MANIFESTLOG # drop the initial directory and the `00manifest` file part tmp = revlog.split(b'/', 1)[1] revlog_target_id = tmp.rsplit(b'/', 1)[0] + b'/'