mercurial/copies.py
changeset 42500 4c39c99d9492
parent 42395 f3d06d37e194
child 42501 35d674a3d5db
equal deleted inserted replaced
42499:f305f1d7d559 42500:4c39c99d9492
   298                     # Copied on both sides: mark as copy from p1 side
   298                     # Copied on both sides: mark as copy from p1 side
   299                     copies[dst] = copies1[dst]
   299                     copies[dst] = copies1[dst]
   300         else:
   300         else:
   301             copies = copies1
   301             copies = copies1
   302         if r == b.rev():
   302         if r == b.rev():
       
   303             _filter(a, b, copies)
   303             return copies
   304             return copies
   304         for c in children[r]:
   305         for c in children[r]:
   305             childctx = repo[c]
   306             childctx = repo[c]
   306             if r == childctx.p1().rev():
   307             if r == childctx.p1().rev():
   307                 parent = 1
   308                 parent = 1
   311                 parent = 2
   312                 parent = 2
   312                 childcopies = childctx.p2copies()
   313                 childcopies = childctx.p2copies()
   313             if not match.always():
   314             if not match.always():
   314                 childcopies = {dst: src for dst, src in childcopies.items()
   315                 childcopies = {dst: src for dst, src in childcopies.items()
   315                                if match(dst)}
   316                                if match(dst)}
   316             childcopies = _chainandfilter(a, childctx, copies, childcopies)
   317             childcopies = _chain(copies, childcopies)
       
   318             for f in childctx.filesremoved():
       
   319                 if f in childcopies:
       
   320                     del childcopies[f]
   317             heapq.heappush(work, (c, parent, childcopies))
   321             heapq.heappush(work, (c, parent, childcopies))
   318     assert False
   322     assert False
   319 
   323 
   320 def _forwardcopies(a, b, match=None):
   324 def _forwardcopies(a, b, match=None):
   321     """find {dst@b: src@a} copy mapping where a is an ancestor of b"""
   325     """find {dst@b: src@a} copy mapping where a is an ancestor of b"""