mercurial/merge.py
branchstable
changeset 12008 fad5ed0ff997
parent 11755 7d2aaeea67ed
child 12010 ce818cf215dc
equal deleted inserted replaced
12005:c6b1be675d3c 12008:fad5ed0ff997
   268             if f == '.hgsubstate': # merged internally
   268             if f == '.hgsubstate': # merged internally
   269                 continue
   269                 continue
   270             repo.ui.debug("preserving %s for resolve of %s\n" % (f, fd))
   270             repo.ui.debug("preserving %s for resolve of %s\n" % (f, fd))
   271             fcl = wctx[f]
   271             fcl = wctx[f]
   272             fco = mctx[f2]
   272             fco = mctx[f2]
   273             fca = fcl.ancestor(fco, actx) or repo.filectx(f, fileid=nullrev)
   273             if mctx == actx: # backwards, use working dir parent as ancestor
       
   274                 fca = fcl.parents()[0]
       
   275             else:
       
   276                 fca = fcl.ancestor(fco, actx)
       
   277             if not fca:
       
   278                 fca = repo.filectx(f, fileid=nullrev)
   274             ms.add(fcl, fco, fca, fd, flags)
   279             ms.add(fcl, fco, fca, fd, flags)
   275             if f != fd and move:
   280             if f != fd and move:
   276                 moves.append(f)
   281                 moves.append(f)
   277 
   282 
   278     # remove renamed files after safely stored
   283     # remove renamed files after safely stored