##// END OF EJS Templates
Fix off-by-one truncation in transaction rollback.
mpm@selenic.com -
r14:e0e5c1b9 default
parent child Browse files
Show More
@@ -63,8 +63,8 b' class revlog:'
63 def revisions(self, list):
63 def revisions(self, list):
64 # this can be optimized to do spans, etc
64 # this can be optimized to do spans, etc
65 # be stupid for now
65 # be stupid for now
66 for r in list:
66 for node in list:
67 yield self.revision(r)
67 yield self.revision(node)
68
68
69 def diff(self, a, b):
69 def diff(self, a, b):
70 return mdiff.textdiff(a, b)
70 return mdiff.textdiff(a, b)
@@ -151,9 +151,9 b' class revlog:'
151 self.nodemap[node] = n
151 self.nodemap[node] = n
152 entry = struct.pack(indexformat, *e)
152 entry = struct.pack(indexformat, *e)
153
153
154 transaction.add(self.datafile, e[0])
154 transaction.add(self.datafile, e[0] - 1)
155 self.opener(self.datafile, "a").write(data)
155 self.opener(self.datafile, "a").write(data)
156 transaction.add(self.indexfile, n * len(entry))
156 transaction.add(self.indexfile, (n + 1) * len(entry) - 1)
157 self.opener(self.indexfile, "a").write(entry)
157 self.opener(self.indexfile, "a").write(entry)
158
158
159 self.cache = (node, n, text)
159 self.cache = (node, n, text)
General Comments 0
You need to be logged in to leave comments. Login now