Mercurial > public > mercurial-scm > hg-stable
diff mercurial/upgrade.py @ 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 | 0147a4730420 |
children | 2ce60954b1b7 |
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