1484 repo.dirstate.write(repo.currenttransaction()) |
1484 repo.dirstate.write(repo.currenttransaction()) |
1485 ctx = repo[rev] |
1485 ctx = repo[rev] |
1486 repo.ui.debug(b" merge against %d:%s\n" % (rev, ctx)) |
1486 repo.ui.debug(b" merge against %d:%s\n" % (rev, ctx)) |
1487 if base is not None: |
1487 if base is not None: |
1488 repo.ui.debug(b" detach base %d:%s\n" % (base, repo[base])) |
1488 repo.ui.debug(b" detach base %d:%s\n" % (base, repo[base])) |
1489 # When collapsing in-place, the parent is the common ancestor, we |
1489 |
1490 # have to allow merging with it. |
1490 # See explanation in merge.graft() |
|
1491 mergeancestor = repo.changelog.isancestor(p1ctx.node(), ctx.node()) |
1491 stats = mergemod.update( |
1492 stats = mergemod.update( |
1492 repo, |
1493 repo, |
1493 rev, |
1494 rev, |
1494 branchmerge=True, |
1495 branchmerge=True, |
1495 force=True, |
1496 force=True, |
1496 ancestor=base, |
1497 ancestor=base, |
1497 mergeancestor=collapse, |
1498 mergeancestor=mergeancestor, |
1498 labels=[b'dest', b'source'], |
1499 labels=[b'dest', b'source'], |
1499 wc=wctx, |
1500 wc=wctx, |
1500 ) |
1501 ) |
1501 if collapse: |
1502 if collapse: |
1502 copies.graftcopies(wctx, ctx, repo[dest]) |
1503 copies.graftcopies(wctx, ctx, repo[dest]) |