comparison mercurial/filelog.py @ 2921:addb58e3b41c

redo merge with mpm. previous merge at ef8ee4477019 was bad.
author Vadim Gelfer <vadim.gelfer@gmail.com>
date Wed, 16 Aug 2006 10:52:19 -0700
parents db397c38005d
children b2138d846b27
comparison
equal deleted inserted replaced
2919:b70740aefa4d 2921:addb58e3b41c
63 m = self.readmeta(node) 63 m = self.readmeta(node)
64 if m and m.has_key("copy"): 64 if m and m.has_key("copy"):
65 return (m["copy"], bin(m["copyrev"])) 65 return (m["copy"], bin(m["copyrev"]))
66 return False 66 return False
67 67
68 def size(self, rev):
69 """return the size of a given revision"""
70
71 # for revisions with renames, we have to go the slow way
72 node = self.node(rev)
73 if self.renamed(node):
74 return len(self.read(node))
75
76 return revlog.size(self, rev)
77
68 def cmp(self, node, text): 78 def cmp(self, node, text):
69 """compare text with a given file revision""" 79 """compare text with a given file revision"""
70 80
71 # for renames, we have to go the slow way 81 # for renames, we have to go the slow way
72 if self.renamed(node): 82 if self.renamed(node):
73 t2 = self.read(node) 83 t2 = self.read(node)
74 return t2 == text 84 return t2 != text
75 85
76 p1, p2 = self.parents(node) 86 return revlog.cmp(self, node, text)
77 h = hash(text, p1, p2)
78
79 return h != node
80
81 def makenode(self, node, text):
82 """calculate a file nodeid for text, descended or possibly
83 unchanged from node"""
84
85 if self.cmp(node, text):
86 return hash(text, node, nullid)
87 return node
88 87
89 def annotate(self, node): 88 def annotate(self, node):
90 89
91 def decorate(text, rev): 90 def decorate(text, rev):
92 return ([rev] * len(text.splitlines()), text) 91 return ([rev] * len(text.splitlines()), text)