Show More
@@ -31,6 +31,7 b' class bundlerevlog(revlog.revlog):' | |||||
31 | # |
|
31 | # | |
32 | revlog.revlog.__init__(self, opener, indexfile, datafile) |
|
32 | revlog.revlog.__init__(self, opener, indexfile, datafile) | |
33 | self.bundlefile = bundlefile |
|
33 | self.bundlefile = bundlefile | |
|
34 | self.basemap = {} | |||
34 | def chunkpositer(): |
|
35 | def chunkpositer(): | |
35 | for chunk in changegroup.chunkiter(bundlefile): |
|
36 | for chunk in changegroup.chunkiter(bundlefile): | |
36 | pos = bundlefile.tell() |
|
37 | pos = bundlefile.tell() | |
@@ -58,7 +59,8 b' class bundlerevlog(revlog.revlog):' | |||||
58 | if not prev: |
|
59 | if not prev: | |
59 | prev = p1 |
|
60 | prev = p1 | |
60 | # start, size, base is not used, link, p1, p2, delta ref |
|
61 | # start, size, base is not used, link, p1, p2, delta ref | |
61 |
e = (start, size, None, link, p1, p2, node |
|
62 | e = (start, size, None, link, p1, p2, node) | |
|
63 | self.basemap[n] = prev | |||
62 | self.index.append(e) |
|
64 | self.index.append(e) | |
63 | self.nodemap[node] = n |
|
65 | self.nodemap[node] = n | |
64 | prev = node |
|
66 | prev = node | |
@@ -68,9 +70,9 b' class bundlerevlog(revlog.revlog):' | |||||
68 | """is rev from the bundle""" |
|
70 | """is rev from the bundle""" | |
69 | if rev < 0: |
|
71 | if rev < 0: | |
70 | return False |
|
72 | return False | |
71 |
return |
|
73 | return rev in self.basemap | |
72 |
def bundlebase(self, rev): return self. |
|
74 | def bundlebase(self, rev): return self.basemap[rev] | |
73 | def chunk(self, rev): |
|
75 | def chunk(self, rev, df=None): | |
74 | # Warning: in case of bundle, the diff is against bundlebase, |
|
76 | # Warning: in case of bundle, the diff is against bundlebase, | |
75 | # not against rev - 1 |
|
77 | # not against rev - 1 | |
76 | # XXX: could use some caching |
|
78 | # XXX: could use some caching |
General Comments 0
You need to be logged in to leave comments.
Login now