Show More
@@ -300,33 +300,16 b' class revlogoldio(object):' | |||||
300 | s = struct.calcsize(indexformatv0) |
|
300 | s = struct.calcsize(indexformatv0) | |
301 | index = [] |
|
301 | index = [] | |
302 | nodemap = {nullid: nullrev} |
|
302 | nodemap = {nullid: nullrev} | |
303 | n = 0 |
|
303 | n = off = 0 | |
304 | leftover = None |
|
|||
305 | while True: |
|
|||
306 | if st: |
|
|||
307 | data = fp.read(65536) |
|
|||
308 | else: |
|
|||
309 | # hack for httprangereader, it doesn't do partial reads well |
|
|||
310 |
|
|
304 | data = fp.read() | |
311 | if not data: |
|
|||
312 | break |
|
|||
313 | if leftover: |
|
|||
314 | data = leftover + data |
|
|||
315 | leftover = None |
|
|||
316 | off = 0 |
|
|||
317 |
|
|
305 | l = len(data) | |
318 |
|
|
306 | while off + s <= l: | |
319 | if l - off < s: |
|
|||
320 | leftover = data[off:] |
|
|||
321 | break |
|
|||
322 |
|
|
307 | cur = data[off:off + s] | |
323 |
|
|
308 | off += s | |
324 |
|
|
309 | e = struct.unpack(indexformatv0, cur) | |
325 |
|
|
310 | index.append(e) | |
326 |
|
|
311 | nodemap[e[-1]] = n | |
327 |
|
|
312 | n += 1 | |
328 | if not st: |
|
|||
329 | break |
|
|||
330 |
|
313 | |||
331 | return index, nodemap |
|
314 | return index, nodemap | |
332 |
|
315 |
General Comments 0
You need to be logged in to leave comments.
Login now