Show More
@@ -163,6 +163,15 b' class unbundle10(object):' | |||
|
163 | 163 | % (len(d), l)) |
|
164 | 164 | return d |
|
165 | 165 | |
|
166 | def parsechunk(self): | |
|
167 | l = self.chunklength() | |
|
168 | if not l: | |
|
169 | return {} | |
|
170 | h = self.read(80) | |
|
171 | node, p1, p2, cs = struct.unpack("20s20s20s20s", h) | |
|
172 | data = self.read(l - 80) | |
|
173 | return dict(node=node, p1=p1, p2=p2, cs=cs, data=data) | |
|
174 | ||
|
166 | 175 | class headerlessfixup(object): |
|
167 | 176 | def __init__(self, fh, h): |
|
168 | 177 | self._h = h |
@@ -1302,18 +1302,21 b' class revlog(object):' | |||
|
1302 | 1302 | # loop through our set of deltas |
|
1303 | 1303 | chain = None |
|
1304 | 1304 | while 1: |
|
1305 | chunk = bundle.chunk() | |
|
1306 | if not chunk: | |
|
1305 | chunkdata = bundle.parsechunk() | |
|
1306 | if not chunkdata: | |
|
1307 | 1307 | break |
|
1308 | node, p1, p2, cs = struct.unpack("20s20s20s20s", chunk[:80]) | |
|
1308 | node = chunkdata['node'] | |
|
1309 | p1 = chunkdata['p1'] | |
|
1310 | p2 = chunkdata['p2'] | |
|
1311 | cs = chunkdata['cs'] | |
|
1312 | delta = chunkdata['data'] | |
|
1313 | ||
|
1309 | 1314 | link = linkmapper(cs) |
|
1310 | 1315 | if (node in self.nodemap and |
|
1311 | 1316 | (not self.flags(self.rev(node)) & REVIDX_PUNCHED_FLAG)): |
|
1312 | 1317 | # this can happen if two branches make the same change |
|
1313 | 1318 | chain = node |
|
1314 | 1319 | continue |
|
1315 | delta = buffer(chunk, 80) | |
|
1316 | del chunk | |
|
1317 | 1320 | |
|
1318 | 1321 | for p in (p1, p2): |
|
1319 | 1322 | if not p in self.nodemap: |
General Comments 0
You need to be logged in to leave comments.
Login now