equal
deleted
inserted
replaced
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): |