mercurial/revlog.py
changeset 46561 7a93b7b3dc2d
parent 46560 f7b61ad3c64a
child 46646 e9901d01d135
equal deleted inserted replaced
46560:f7b61ad3c64a 46561:7a93b7b3dc2d
  2417             for data in deltas:
  2417             for data in deltas:
  2418                 node, p1, p2, linknode, deltabase, delta, flags = data
  2418                 node, p1, p2, linknode, deltabase, delta, flags = data
  2419                 link = linkmapper(linknode)
  2419                 link = linkmapper(linknode)
  2420                 flags = flags or REVIDX_DEFAULT_FLAGS
  2420                 flags = flags or REVIDX_DEFAULT_FLAGS
  2421 
  2421 
  2422                 if self.index.has_node(node):
  2422                 rev = self.index.get_rev(node)
       
  2423                 if rev is not None:
  2423                     # this can happen if two branches make the same change
  2424                     # this can happen if two branches make the same change
  2424                     self._nodeduplicatecallback(transaction, node)
  2425                     self._nodeduplicatecallback(transaction, rev)
  2425                     if duplicaterevisioncb:
  2426                     if duplicaterevisioncb:
  2426                         duplicaterevisioncb(self, node)
  2427                         duplicaterevisioncb(self, rev)
  2427                     empty = False
  2428                     empty = False
  2428                     continue
  2429                     continue
  2429 
  2430 
  2430                 for p in (p1, p2):
  2431                 for p in (p1, p2):
  2431                     if not self.index.has_node(p):
  2432                     if not self.index.has_node(p):
  2459                 # revision(). revision() will fast path if there is a cache
  2460                 # revision(). revision() will fast path if there is a cache
  2460                 # hit. So, we tell _addrevision() to always cache in this case.
  2461                 # hit. So, we tell _addrevision() to always cache in this case.
  2461                 # We're only using addgroup() in the context of changegroup
  2462                 # We're only using addgroup() in the context of changegroup
  2462                 # generation so the revision data can always be handled as raw
  2463                 # generation so the revision data can always be handled as raw
  2463                 # by the flagprocessor.
  2464                 # by the flagprocessor.
  2464                 self._addrevision(
  2465                 rev = self._addrevision(
  2465                     node,
  2466                     node,
  2466                     None,
  2467                     None,
  2467                     transaction,
  2468                     transaction,
  2468                     link,
  2469                     link,
  2469                     p1,
  2470                     p1,
  2475                     alwayscache=alwayscache,
  2476                     alwayscache=alwayscache,
  2476                     deltacomputer=deltacomputer,
  2477                     deltacomputer=deltacomputer,
  2477                 )
  2478                 )
  2478 
  2479 
  2479                 if addrevisioncb:
  2480                 if addrevisioncb:
  2480                     addrevisioncb(self, node)
  2481                     addrevisioncb(self, rev)
  2481                 empty = False
  2482                 empty = False
  2482 
  2483 
  2483                 if not dfh and not self._inline:
  2484                 if not dfh and not self._inline:
  2484                     # addrevision switched from inline to conventional
  2485                     # addrevision switched from inline to conventional
  2485                     # reopen the index
  2486                     # reopen the index