Mercurial > hg-stable
changeset 50525:5f636e0fec4a
upgrade: actually use StoreEntry API to create revlog
Lets make use of the semanctic of the object we are passed.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 15 May 2023 09:01:53 +0200 |
parents | 0935b9db21b6 |
children | 3473d18c029a |
files | mercurial/upgrade_utils/engine.py |
diffstat | 1 files changed, 4 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/upgrade_utils/engine.py Mon May 15 09:01:36 2023 +0200 +++ b/mercurial/upgrade_utils/engine.py Mon May 15 09:01:53 2023 +0200 @@ -52,26 +52,15 @@ An instance of the appropriate class is returned. """ - rl_type = entry.revlog_type - path = entry.unencoded_path - if rl_type & store.FILEFLAGS_CHANGELOG: + if entry.revlog_type == store.FILEFLAGS_CHANGELOG: return changelog.changelog(repo.svfs) - elif rl_type & store.FILEFLAGS_MANIFESTLOG: - mandir = b'' - if b'/' in path: - mandir = path.rsplit(b'/', 1)[0] + elif entry.revlog_type == store.FILEFLAGS_MANIFESTLOG: + mandir = entry.target_id.rstrip(b'/') return manifest.manifestrevlog( repo.nodeconstants, repo.svfs, tree=mandir ) else: - # drop the extension and the `data/` prefix - path_part = path.rsplit(b'.', 1)[0].split(b'/', 1) - if len(path_part) < 2: - msg = _(b'cannot recognize revlog from filename: %s') - msg %= path - raise error.Abort(msg) - path = path_part[1] - return filelog.filelog(repo.svfs, path) + return filelog.filelog(repo.svfs, entry.target_id) def _copyrevlog(tr, destrepo, oldrl, entry):