comparison mercurial/filelog.py @ 19148:3bda242bf244

filelog: use super() for calling base functions filelog had some hardcoded revlog.revlog.foo() calls. This changes it to use super() instead so that extensions can replace the filelog base class.
author Durham Goode <durham@fb.com>
date Wed, 01 May 2013 10:39:37 -0700
parents 7c231754a621
children 4669e26747c3
comparison
equal deleted inserted replaced
19147:5b1835485442 19148:3bda242bf244
29 keys = sorted(meta.iterkeys()) 29 keys = sorted(meta.iterkeys())
30 return "".join("%s: %s\n" % (k, meta[k]) for k in keys) 30 return "".join("%s: %s\n" % (k, meta[k]) for k in keys)
31 31
32 class filelog(revlog.revlog): 32 class filelog(revlog.revlog):
33 def __init__(self, opener, path): 33 def __init__(self, opener, path):
34 revlog.revlog.__init__(self, opener, 34 super(filelog, self).__init__(opener,
35 "/".join(("data", path + ".i"))) 35 "/".join(("data", path + ".i")))
36 36
37 def read(self, node): 37 def read(self, node):
38 t = self.revision(node) 38 t = self.revision(node)
39 if not t.startswith('\1\n'): 39 if not t.startswith('\1\n'):
62 node = self.node(rev) 62 node = self.node(rev)
63 if self.renamed(node): 63 if self.renamed(node):
64 return len(self.read(node)) 64 return len(self.read(node))
65 65
66 # XXX if self.read(node).startswith("\1\n"), this returns (size+4) 66 # XXX if self.read(node).startswith("\1\n"), this returns (size+4)
67 return revlog.revlog.size(self, rev) 67 return super(filelog, self).size(rev)
68 68
69 def cmp(self, node, text): 69 def cmp(self, node, text):
70 """compare text with a given file revision 70 """compare text with a given file revision
71 71
72 returns True if text is different than what is stored. 72 returns True if text is different than what is stored.
74 74
75 t = text 75 t = text
76 if text.startswith('\1\n'): 76 if text.startswith('\1\n'):
77 t = '\1\n\1\n' + text 77 t = '\1\n\1\n' + text
78 78
79 samehashes = not revlog.revlog.cmp(self, node, t) 79 samehashes = not super(filelog, self).cmp(node, t)
80 if samehashes: 80 if samehashes:
81 return False 81 return False
82 82
83 # renaming a file produces a different hash, even if the data 83 # renaming a file produces a different hash, even if the data
84 # remains unchanged. Check if it's the case (slow): 84 # remains unchanged. Check if it's the case (slow):