mercurial/changegroup.py
changeset 39041 58377518201c
parent 39040 eb8a0139ace3
child 39042 e11d07cc125c
equal deleted inserted replaced
39040:eb8a0139ace3 39041:58377518201c
   705                     delta = _revisiondeltanormal(store, curr, prev, linknode,
   705                     delta = _revisiondeltanormal(store, curr, prev, linknode,
   706                                                  self._deltaparentfn)
   706                                                  self._deltaparentfn)
   707                 elif linkrev not in self._precomputedellipsis:
   707                 elif linkrev not in self._precomputedellipsis:
   708                     delta = None
   708                     delta = None
   709                 else:
   709                 else:
   710                     delta = self._revisiondeltanarrow(store, ischangelog,
   710                     delta = self._revisiondeltanarrow(
   711                                                       curr, linkrev, linknode,
   711                         cl, store, ischangelog, curr, linkrev, linknode,
   712                                                       clrevtolocalrev)
   712                         clrevtolocalrev, self._fullclnodes,
       
   713                         self._precomputedellipsis)
   713             else:
   714             else:
   714                 delta = _revisiondeltanormal(store, curr, prev, linknode,
   715                 delta = _revisiondeltanormal(store, curr, prev, linknode,
   715                                              self._deltaparentfn)
   716                                              self._deltaparentfn)
   716 
   717 
   717             if not delta:
   718             if not delta:
  1055                     size += len(chunk)
  1056                     size += len(chunk)
  1056                     yield chunk
  1057                     yield chunk
  1057                 self._verbosenote(_('%8.i  %s\n') % (size, fname))
  1058                 self._verbosenote(_('%8.i  %s\n') % (size, fname))
  1058         progress.complete()
  1059         progress.complete()
  1059 
  1060 
  1060     def _revisiondeltanarrow(self, store, ischangelog, rev, linkrev, linknode,
  1061     def _revisiondeltanarrow(self, cl, store, ischangelog, rev, linkrev,
  1061                              clrevtolocalrev):
  1062                              linknode, clrevtolocalrev, fullclnodes,
  1062         linkparents = self._precomputedellipsis[linkrev]
  1063                              precomputedellipsis):
       
  1064         linkparents = precomputedellipsis[linkrev]
  1063         def local(clrev):
  1065         def local(clrev):
  1064             """Turn a changelog revnum into a local revnum.
  1066             """Turn a changelog revnum into a local revnum.
  1065 
  1067 
  1066             The ellipsis dag is stored as revnums on the changelog,
  1068             The ellipsis dag is stored as revnums on the changelog,
  1067             but when we're producing ellipsis entries for
  1069             but when we're producing ellipsis entries for
  1090             while walk:
  1092             while walk:
  1091                 p = walk[0]
  1093                 p = walk[0]
  1092                 walk = walk[1:]
  1094                 walk = walk[1:]
  1093                 if p in clrevtolocalrev:
  1095                 if p in clrevtolocalrev:
  1094                     return clrevtolocalrev[p]
  1096                     return clrevtolocalrev[p]
  1095                 elif p in self._fullclnodes:
  1097                 elif p in fullclnodes:
  1096                     walk.extend([pp for pp in self._repo.changelog.parentrevs(p)
  1098                     walk.extend([pp for pp in cl.parentrevs(p)
  1097                                     if pp != nullrev])
  1099                                     if pp != nullrev])
  1098                 elif p in self._precomputedellipsis:
  1100                 elif p in precomputedellipsis:
  1099                     walk.extend([pp for pp in self._precomputedellipsis[p]
  1101                     walk.extend([pp for pp in precomputedellipsis[p]
  1100                                     if pp != nullrev])
  1102                                     if pp != nullrev])
  1101                 else:
  1103                 else:
  1102                     # In this case, we've got an ellipsis with parents
  1104                     # In this case, we've got an ellipsis with parents
  1103                     # outside the current bundle (likely an
  1105                     # outside the current bundle (likely an
  1104                     # incremental pull). We "know" that we can use the
  1106                     # incremental pull). We "know" that we can use the