Mercurial > public > mercurial-scm > hg
comparison mercurial/revlog.py @ 14:e0e5c1b9febd
Fix off-by-one truncation in transaction rollback.
author | mpm@selenic.com |
---|---|
date | Wed, 04 May 2005 09:33:46 -0800 |
parents | ecf3fd948051 |
children | 9cf83bf9ad38 |
comparison
equal
deleted
inserted
replaced
13:eb87b7dc4236 | 14:e0e5c1b9febd |
---|---|
61 def base(self, rev): return self.index[rev][2] | 61 def base(self, rev): return self.index[rev][2] |
62 | 62 |
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) |
71 | 71 |
72 def patch(self, text, patch): | 72 def patch(self, text, patch): |
149 | 149 |
150 self.index.append(e) | 150 self.index.append(e) |
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) |
160 return node | 160 return node |
161 | 161 |