Show More
@@ -374,6 +374,7 b' def emitrevisions(' | |||
|
374 | 374 | |
|
375 | 375 | fnode = store.node |
|
376 | 376 | frev = store.rev |
|
377 | parents = store.parentrevs | |
|
377 | 378 | |
|
378 | 379 | if nodesorder == b'nodes': |
|
379 | 380 | revs = [frev(n) for n in nodes] |
@@ -386,30 +387,28 b' def emitrevisions(' | |||
|
386 | 387 | prevrev = None |
|
387 | 388 | |
|
388 | 389 | if deltamode == repository.CG_DELTAMODE_PREV or assumehaveparentrevisions: |
|
389 |
prevrev = |
|
|
390 | prevrev = parents(revs[0])[0] | |
|
390 | 391 | |
|
391 | # Set of revs available to delta against. | |
|
392 | # Sets of revs available to delta against. | |
|
393 | emitted = set() | |
|
392 | 394 | available = set() |
|
393 | parents = [] | |
|
395 | if assumehaveparentrevisions: | |
|
396 | common_heads = set(p for r in revs for p in parents(r)) | |
|
397 | common_heads.difference_update(revs) | |
|
398 | available = store.ancestors(common_heads, inclusive=True) | |
|
394 | 399 | |
|
395 | 400 | def is_usable_base(rev): |
|
396 | 401 | """Is a delta against this revision usable over the wire""" |
|
397 | 402 | if rev == nullrev: |
|
398 | 403 | return False |
|
399 | # Base revision was already emitted in this group. | |
|
400 | if rev in available: | |
|
401 | return True | |
|
402 | # Base revision is a parent that hasn't been emitted already. | |
|
403 | if assumehaveparentrevisions and rev in parents: | |
|
404 | return True | |
|
405 | return False | |
|
404 | return rev in emitted or rev in available | |
|
406 | 405 | |
|
407 | 406 | for rev in revs: |
|
408 | 407 | if rev == nullrev: |
|
409 | 408 | continue |
|
410 | 409 | |
|
411 | 410 | node = fnode(rev) |
|
412 |
|
|
|
411 | p1rev, p2rev = parents(rev) | |
|
413 | 412 | |
|
414 | 413 | if deltaparentfn: |
|
415 | 414 | deltaparentrev = deltaparentfn(rev) |
@@ -481,7 +480,7 b' def emitrevisions(' | |||
|
481 | 480 | baserev == nullrev and deltamode != repository.CG_DELTAMODE_PREV |
|
482 | 481 | ): |
|
483 | 482 | revision = store.rawdata(node) |
|
484 |
|
|
|
483 | emitted.add(rev) | |
|
485 | 484 | else: |
|
486 | 485 | if revdifffn: |
|
487 | 486 | delta = revdifffn(baserev, rev) |
@@ -490,7 +489,7 b' def emitrevisions(' | |||
|
490 | 489 | store.rawdata(baserev), store.rawdata(rev) |
|
491 | 490 | ) |
|
492 | 491 | |
|
493 |
|
|
|
492 | emitted.add(rev) | |
|
494 | 493 | |
|
495 | 494 | serialized_sidedata = None |
|
496 | 495 | sidedata_flags = (0, 0) |
General Comments 0
You need to be logged in to leave comments.
Login now