mercurial/merge.py
branchstable
changeset 42958 181e52f2b62f
parent 42953 085295f82845
child 42959 af2b5562fcaf
equal deleted inserted replaced
42953:085295f82845 42958:181e52f2b62f
  2247 
  2247 
  2248     stats = update(repo, ctx.node(), True, True, pctx.node(),
  2248     stats = update(repo, ctx.node(), True, True, pctx.node(),
  2249                    mergeancestor=mergeancestor, labels=labels)
  2249                    mergeancestor=mergeancestor, labels=labels)
  2250 
  2250 
  2251 
  2251 
  2252     potherp1 = False
       
  2253     if keepconflictparent and stats.unresolvedcount:
  2252     if keepconflictparent and stats.unresolvedcount:
  2254         pother = ctx.node()
  2253         pother = ctx.node()
  2255     else:
  2254     else:
  2256         pother = nullid
  2255         pother = nullid
  2257         parents = ctx.parents()
  2256         parents = ctx.parents()
  2258         if keepparent and len(parents) == 2 and pctx in parents:
  2257         if keepparent and len(parents) == 2 and pctx in parents:
  2259             if pctx == parents[1]:
       
  2260                 potherp1 = True
       
  2261             parents.remove(pctx)
  2258             parents.remove(pctx)
  2262             pother = parents[0].node()
  2259             pother = parents[0].node()
  2263 
  2260 
  2264     with repo.dirstate.parentchange():
  2261     with repo.dirstate.parentchange():
  2265         if potherp1:
  2262         repo.setparents(repo['.'].node(), pother)
  2266             repo.setparents(pother, repo['.'].node())
       
  2267         else:
       
  2268             repo.setparents(repo['.'].node(), pother)
       
  2269         repo.dirstate.write(repo.currenttransaction())
  2263         repo.dirstate.write(repo.currenttransaction())
  2270         # fix up dirstate for copies and renames
  2264         # fix up dirstate for copies and renames
  2271         copies.duplicatecopies(repo, repo[None], ctx.rev(), pctx.rev())
  2265         copies.duplicatecopies(repo, repo[None], ctx.rev(), pctx.rev())
  2272     return stats
  2266     return stats
  2273 
  2267