comparison mercurial/revlog.py @ 39332:6f4b8f607a31

revlogdeltas: move special cases around raw revisions in finddeltainfo The method already contains logic for no-diff cases. Having everything in the same place is more consistent and unlocks other code improvements.
author Boris Feld <boris.feld@octobus.net>
date Thu, 16 Aug 2018 04:20:34 +0200
parents 655b5b465953
children 5d343a24bff5
comparison
equal deleted inserted replaced
39331:fd0150a3c2fe 39332:6f4b8f607a31
1963 if deltacomputer is None: 1963 if deltacomputer is None:
1964 deltacomputer = deltautil.deltacomputer(self) 1964 deltacomputer = deltautil.deltacomputer(self)
1965 1965
1966 revinfo = _revisioninfo(node, p1, p2, btext, textlen, cachedelta, flags) 1966 revinfo = _revisioninfo(node, p1, p2, btext, textlen, cachedelta, flags)
1967 1967
1968 # no delta for flag processor revision (see "candelta" for why) 1968 deltainfo = deltacomputer.finddeltainfo(revinfo, fh)
1969 # not calling candelta since only one revision needs test, also to
1970 # avoid overhead fetching flags again.
1971 if flags & REVIDX_RAWTEXT_CHANGING_FLAGS:
1972 deltainfo = None
1973 else:
1974 deltainfo = deltacomputer.finddeltainfo(revinfo, fh)
1975 1969
1976 if deltainfo is not None: 1970 if deltainfo is not None:
1977 base = deltainfo.base 1971 base = deltainfo.base
1978 chainbase = deltainfo.chainbase 1972 chainbase = deltainfo.chainbase
1979 data = deltainfo.data 1973 data = deltainfo.data