mercurial/filelog.py
changeset 46675 6f4a481f182a
parent 46508 f7b61ad3c64a
parent 46530 b994db7c4d1e
child 46714 f63299ee7e4d
equal deleted inserted replaced
46674:79cfe18c20b5 46675:6f4a481f182a
   278             return len(self.read(node))
   278             return len(self.read(node))
   279         else:
   279         else:
   280             return super(narrowfilelog, self).size(rev)
   280             return super(narrowfilelog, self).size(rev)
   281 
   281 
   282     def cmp(self, node, text):
   282     def cmp(self, node, text):
   283         different = super(narrowfilelog, self).cmp(node, text)
   283         # We don't call `super` because narrow parents can be buggy in case of a
   284 
   284         # ambiguous dirstate. Always take the slow path until there is a better
   285         # Because renamed() may lie, we may get false positives for
   285         # fix, see issue6150.
   286         # different content. Check for this by comparing against the original
   286 
   287         # renamed() implementation.
   287         # Censored files compare against the empty file.
   288         if different:
   288         if self.iscensored(self.rev(node)):
   289             if super(narrowfilelog, self).renamed(node):
   289             return text != b''
   290                 t2 = self.read(node)
   290 
   291                 return t2 != text
   291         return self.read(node) != text
   292 
       
   293         return different