Mercurial > hg-stable
changeset 37444:c8666a9e9e11
upgrade: sniff for filelog type
The upgrade code should never encounter a vanilla revlog
instance: only changelog, manifestrevlog, and filelog should
be seen.
The previous code assumed !changelog & !manifestrevlog meant
file data. So this change feels pretty safe. If nothing else, it
will help tease out typing issues.
Differential Revision: https://phab.mercurial-scm.org/D3152
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 05 Apr 2018 17:40:51 -0700 |
parents | 65250a66b55c |
children | cc4b569975ed |
files | mercurial/upgrade.py |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/upgrade.py Thu Apr 05 16:31:45 2018 -0700 +++ b/mercurial/upgrade.py Thu Apr 05 17:40:51 2018 -0700 @@ -480,11 +480,13 @@ mrevcount += len(rl) msrcsize += datasize mrawsize += rawsize - elif isinstance(rl, revlog.revlog): + elif isinstance(rl, filelog.filelog): fcount += 1 frevcount += len(rl) fsrcsize += datasize frawsize += rawsize + else: + error.ProgrammingError('unknown revlog type') if not revcount: return