mercurial/revlog.py
changeset 26242 d708873f1f33
parent 26241 eb97d49768cc
child 26243 836291420d53
equal deleted inserted replaced
26241:eb97d49768cc 26242:d708873f1f33
  1047             node = self.node(rev)
  1047             node = self.node(rev)
  1048         else:
  1048         else:
  1049             node = nodeorrev
  1049             node = nodeorrev
  1050             rev = None
  1050             rev = None
  1051 
  1051 
  1052         _cache = self._cache # grab local copy of cache to avoid thread race
       
  1053         cachedrev = None
  1052         cachedrev = None
  1054         if node == nullid:
  1053         if node == nullid:
  1055             return ""
  1054             return ""
  1056         if _cache:
  1055         if self._cache:
  1057             if _cache[0] == node:
  1056             if self._cache[0] == node:
  1058                 return _cache[2]
  1057                 return self._cache[2]
  1059             cachedrev = _cache[1]
  1058             cachedrev = self._cache[1]
  1060 
  1059 
  1061         # look up what we need to read
  1060         # look up what we need to read
  1062         text = None
  1061         text = None
  1063         if rev is None:
  1062         if rev is None:
  1064             rev = self.rev(node)
  1063             rev = self.rev(node)
  1082                 iterrev -= 1
  1081                 iterrev -= 1
  1083             e = index[iterrev]
  1082             e = index[iterrev]
  1084 
  1083 
  1085         if iterrev == cachedrev:
  1084         if iterrev == cachedrev:
  1086             # cache hit
  1085             # cache hit
  1087             text = _cache[2]
  1086             text = self._cache[2]
  1088         else:
  1087         else:
  1089             chain.append(iterrev)
  1088             chain.append(iterrev)
  1090         chain.reverse()
  1089         chain.reverse()
  1091 
  1090 
  1092         # drop cache to save memory
  1091         # drop cache to save memory