diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -1965,13 +1965,7 @@ class revlog(object): revinfo = _revisioninfo(node, p1, p2, btext, textlen, cachedelta, flags) - # no delta for flag processor revision (see "candelta" for why) - # not calling candelta since only one revision needs test, also to - # avoid overhead fetching flags again. - if flags & REVIDX_RAWTEXT_CHANGING_FLAGS: - deltainfo = None - else: - deltainfo = deltacomputer.finddeltainfo(revinfo, fh) + deltainfo = deltacomputer.finddeltainfo(revinfo, fh) if deltainfo is not None: base = deltainfo.base diff --git a/mercurial/revlogutils/deltas.py b/mercurial/revlogutils/deltas.py --- a/mercurial/revlogutils/deltas.py +++ b/mercurial/revlogutils/deltas.py @@ -703,6 +703,12 @@ class deltacomputer(object): if not revinfo.textlen: return None # empty file do not need delta + # no delta for flag processor revision (see "candelta" for why) + # not calling candelta since only one revision needs test, also to + # avoid overhead fetching flags again. + if revinfo.flags & REVIDX_RAWTEXT_CHANGING_FLAGS: + return None + cachedelta = revinfo.cachedelta p1 = revinfo.p1 p2 = revinfo.p2