538 _checkcollision(p2) |
538 _checkcollision(p2) |
539 action += _forgetremoved(wc, p2, branchmerge) |
539 action += _forgetremoved(wc, p2, branchmerge) |
540 action += manifestmerge(repo, wc, p2, pa, overwrite, partial) |
540 action += manifestmerge(repo, wc, p2, pa, overwrite, partial) |
541 |
541 |
542 ### apply phase |
542 ### apply phase |
543 if not branchmerge or fastforward: # just jump to the new rev |
543 if not branchmerge: # just jump to the new rev |
544 fp1, fp2, xp1, xp2 = fp2, nullid, xp2, '' |
544 fp1, fp2, xp1, xp2 = fp2, nullid, xp2, '' |
545 if not partial: |
545 if not partial: |
546 repo.hook('preupdate', throw=True, parent1=xp1, parent2=xp2) |
546 repo.hook('preupdate', throw=True, parent1=xp1, parent2=xp2) |
547 |
547 |
548 stats = applyupdates(repo, action, wc, p2, pa, overwrite) |
548 stats = applyupdates(repo, action, wc, p2, pa, overwrite) |
549 |
549 |
550 if not partial: |
550 if not partial: |
551 repo.dirstate.setparents(fp1, fp2) |
551 repo.dirstate.setparents(fp1, fp2) |
552 recordupdates(repo, action, branchmerge and not fastforward) |
552 recordupdates(repo, action, branchmerge) |
553 if not branchmerge and not fastforward: |
553 if not branchmerge and not fastforward: |
554 repo.dirstate.setbranch(p2.branch()) |
554 repo.dirstate.setbranch(p2.branch()) |
555 finally: |
555 finally: |
556 wlock.release() |
556 wlock.release() |
557 |
557 |