equal
deleted
inserted
replaced
192 if node == nullid: return "" |
192 if node == nullid: return "" |
193 if self.cache and self.cache[0] == node: return self.cache[2] |
193 if self.cache and self.cache[0] == node: return self.cache[2] |
194 |
194 |
195 text = None |
195 text = None |
196 rev = self.rev(node) |
196 rev = self.rev(node) |
197 base = self.base(rev) |
197 start, length, base, link, p1, p2, node = self.index[rev] |
198 start = self.start(base) |
198 end = start + length |
199 end = self.end(rev) |
199 if base != rev: start = self.start(base) |
200 |
200 |
201 if self.cache and self.cache[1] >= base and self.cache[1] < rev: |
201 if self.cache and self.cache[1] >= base and self.cache[1] < rev: |
202 base = self.cache[1] |
202 base = self.cache[1] |
203 start = self.start(base + 1) |
203 start = self.start(base + 1) |
204 text = self.cache[2] |
204 text = self.cache[2] |
218 bins.append(decompress(data[last:last + s])) |
218 bins.append(decompress(data[last:last + s])) |
219 last = last + s |
219 last = last + s |
220 |
220 |
221 text = mdiff.patches(text, bins) |
221 text = mdiff.patches(text, bins) |
222 |
222 |
223 (p1, p2) = self.parents(node) |
|
224 if node != hash(text, p1, p2): |
223 if node != hash(text, p1, p2): |
225 raise IOError("integrity check failed on %s:%d" |
224 raise IOError("integrity check failed on %s:%d" |
226 % (self.datafile, rev)) |
225 % (self.datafile, rev)) |
227 |
226 |
228 self.cache = (node, rev, text) |
227 self.cache = (node, rev, text) |