508 node2 = self.node(rev2) |
508 node2 = self.node(rev2) |
509 |
509 |
510 return mdiff.textdiff(self.revision(node1, raw=True), |
510 return mdiff.textdiff(self.revision(node1, raw=True), |
511 self.revision(node2, raw=True)) |
511 self.revision(node2, raw=True)) |
512 |
512 |
513 def emitrevisiondeltas(self, requests): |
|
514 for request in requests: |
|
515 node = request.node |
|
516 rev = self.rev(node) |
|
517 |
|
518 if request.basenode == nullid: |
|
519 baserev = nullrev |
|
520 elif request.basenode is not None: |
|
521 baserev = self.rev(request.basenode) |
|
522 else: |
|
523 # This is a test extension and we can do simple things |
|
524 # for choosing a delta parent. |
|
525 baserev = self.deltaparent(rev) |
|
526 |
|
527 if baserev != nullrev and not self._candelta(baserev, rev): |
|
528 baserev = nullrev |
|
529 |
|
530 revision = None |
|
531 delta = None |
|
532 baserevisionsize = None |
|
533 |
|
534 if self.iscensored(baserev) or self.iscensored(rev): |
|
535 try: |
|
536 revision = self.revision(node, raw=True) |
|
537 except error.CensoredNodeError as e: |
|
538 revision = e.tombstone |
|
539 |
|
540 if baserev != nullrev: |
|
541 baserevisionsize = self.rawsize(baserev) |
|
542 |
|
543 elif baserev == nullrev: |
|
544 revision = self.revision(node, raw=True) |
|
545 else: |
|
546 delta = self.revdiff(baserev, rev) |
|
547 |
|
548 extraflags = revlog.REVIDX_ELLIPSIS if request.ellipsis else 0 |
|
549 |
|
550 yield simplestorerevisiondelta( |
|
551 node=node, |
|
552 p1node=request.p1node, |
|
553 p2node=request.p2node, |
|
554 linknode=request.linknode, |
|
555 basenode=self.node(baserev), |
|
556 flags=self.flags(rev) | extraflags, |
|
557 baserevisionsize=baserevisionsize, |
|
558 revision=revision, |
|
559 delta=delta) |
|
560 |
|
561 def heads(self, start=None, stop=None): |
513 def heads(self, start=None, stop=None): |
562 # This is copied from revlog.py. |
514 # This is copied from revlog.py. |
563 if start is None and stop is None: |
515 if start is None and stop is None: |
564 if not len(self): |
516 if not len(self): |
565 return [nullid] |
517 return [nullid] |