hgext/transplant.py
changeset 18082 40f0c0748cfc
parent 17874 2ba70eec1cf0
child 18919 cdf764a2f7a5
equal deleted inserted replaced
18081:f88c60e740a1 18082:40f0c0748cfc
    92         or is parent or has already been transplanted'''
    92         or is parent or has already been transplanted'''
    93         if hasnode(repo, parent):
    93         if hasnode(repo, parent):
    94             parentrev = repo.changelog.rev(parent)
    94             parentrev = repo.changelog.rev(parent)
    95         if hasnode(repo, node):
    95         if hasnode(repo, node):
    96             rev = repo.changelog.rev(node)
    96             rev = repo.changelog.rev(node)
    97             reachable = repo.changelog.incancestors([parentrev], rev)
    97             reachable = repo.changelog.ancestors([parentrev], rev,
       
    98                                                  inclusive=True)
    98             if rev in reachable:
    99             if rev in reachable:
    99                 return True
   100                 return True
   100         for t in self.transplants.get(node):
   101         for t in self.transplants.get(node):
   101             # it might have been stripped
   102             # it might have been stripped
   102             if not hasnode(repo, t.lnode):
   103             if not hasnode(repo, t.lnode):
   103                 self.transplants.remove(t)
   104                 self.transplants.remove(t)
   104                 return False
   105                 return False
   105             lnoderev = repo.changelog.rev(t.lnode)
   106             lnoderev = repo.changelog.rev(t.lnode)
   106             if lnoderev in repo.changelog.incancestors([parentrev], lnoderev):
   107             if lnoderev in repo.changelog.ancestors([parentrev], lnoderev,
       
   108                                                     inclusive=True):
   107                 return True
   109                 return True
   108         return False
   110         return False
   109 
   111 
   110     def apply(self, repo, source, revmap, merges, opts={}):
   112     def apply(self, repo, source, revmap, merges, opts={}):
   111         '''apply the revisions in revmap one by one in revision order'''
   113         '''apply the revisions in revmap one by one in revision order'''