mercurial/revlog.py
changeset 14141 bd1cbfe5db5c
parent 14075 bc101902a68d
child 14143 da635d3c5620
equal deleted inserted replaced
14140:82f0412ef7de 14141:bd1cbfe5db5c
  1129 
  1129 
  1130         try:
  1130         try:
  1131             # loop through our set of deltas
  1131             # loop through our set of deltas
  1132             chain = None
  1132             chain = None
  1133             while 1:
  1133             while 1:
  1134                 chunkdata = bundle.parsechunk()
  1134                 chunkdata = bundle.parsechunk(chain)
  1135                 if not chunkdata:
  1135                 if not chunkdata:
  1136                     break
  1136                     break
  1137                 node = chunkdata['node']
  1137                 node = chunkdata['node']
  1138                 p1 = chunkdata['p1']
  1138                 p1 = chunkdata['p1']
  1139                 p2 = chunkdata['p2']
  1139                 p2 = chunkdata['p2']
  1140                 cs = chunkdata['cs']
  1140                 cs = chunkdata['cs']
  1141                 delta = chunkdata['data']
  1141                 deltabase = chunkdata['deltabase']
       
  1142                 delta = chunkdata['delta']
  1142 
  1143 
  1143                 link = linkmapper(cs)
  1144                 link = linkmapper(cs)
  1144                 if (node in self.nodemap and
  1145                 if (node in self.nodemap and
  1145                     (not self.flags(self.rev(node)) & REVIDX_PUNCHED_FLAG)):
  1146                     (not self.flags(self.rev(node)) & REVIDX_PUNCHED_FLAG)):
  1146                     # this can happen if two branches make the same change
  1147                     # this can happen if two branches make the same change
  1166                                               _('unknown parent'))
  1167                                               _('unknown parent'))
  1167                         else:
  1168                         else:
  1168                             raise LookupError(p, self.indexfile,
  1169                             raise LookupError(p, self.indexfile,
  1169                                               _('unknown parent'))
  1170                                               _('unknown parent'))
  1170 
  1171 
  1171                 if not chain:
  1172                 if deltabase not in self.nodemap:
  1172                     # retrieve the parent revision of the delta chain
  1173                     raise LookupError(deltabase, self.indexfile,
  1173                     chain = p1
  1174                                       _('unknown delta base'))
  1174                     if not chain in self.nodemap:
  1175 
  1175                         raise LookupError(chain, self.indexfile, _('unknown base'))
  1176                 baserev = self.rev(deltabase)
  1176 
       
  1177                 chainrev = self.rev(chain)
       
  1178                 chain = self._addrevision(node, None, transaction, link,
  1177                 chain = self._addrevision(node, None, transaction, link,
  1179                                           p1, p2, (chainrev, delta), ifh, dfh)
  1178                                           p1, p2, (baserev, delta), ifh, dfh)
  1180                 if not dfh and not self._inline:
  1179                 if not dfh and not self._inline:
  1181                     # addrevision switched from inline to conventional
  1180                     # addrevision switched from inline to conventional
  1182                     # reopen the index
  1181                     # reopen the index
  1183                     ifh.close()
  1182                     ifh.close()
  1184                     dfh = self.opener(self.datafile, "a")
  1183                     dfh = self.opener(self.datafile, "a")