Mercurial > public > mercurial-scm > hg
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): |