mercurial/copies.py
changeset 42514 e7c55e24d6bf
parent 42488 c0b51449bf6b
child 42517 8f9cfc8d2ae1
equal deleted inserted replaced
42513:15f04d652b62 42514:e7c55e24d6bf
   310             if not alwaysmatch:
   310             if not alwaysmatch:
   311                 childcopies = {dst: src for dst, src in childcopies.items()
   311                 childcopies = {dst: src for dst, src in childcopies.items()
   312                                if match(dst)}
   312                                if match(dst)}
   313             # Copy the dict only if later iterations will also need it
   313             # Copy the dict only if later iterations will also need it
   314             if i != len(children[r]) - 1:
   314             if i != len(children[r]) - 1:
   315                 copies = copies.copy()
   315                 newcopies = copies.copy()
       
   316             else:
       
   317                 newcopies = copies
   316             if childcopies:
   318             if childcopies:
   317                 childcopies = _chain(copies, childcopies)
   319                 newcopies = _chain(newcopies, childcopies)
   318             else:
       
   319                 childcopies = copies
       
   320             for f in childctx.filesremoved():
   320             for f in childctx.filesremoved():
   321                 if f in childcopies:
   321                 if f in newcopies:
   322                     del childcopies[f]
   322                     del newcopies[f]
   323             heapq.heappush(work, (c, parent, childcopies))
   323             heapq.heappush(work, (c, parent, newcopies))
   324     assert False
   324     assert False
   325 
   325 
   326 def _forwardcopies(a, b, match=None):
   326 def _forwardcopies(a, b, match=None):
   327     """find {dst@b: src@a} copy mapping where a is an ancestor of b"""
   327     """find {dst@b: src@a} copy mapping where a is an ancestor of b"""
   328 
   328