563 elif from_rev or to_rev: |
563 elif from_rev or to_rev: |
564 repo = scmutil.unhidehashlikerevs( |
564 repo = scmutil.unhidehashlikerevs( |
565 repo, [from_rev] + [to_rev], b'nowarn' |
565 repo, [from_rev] + [to_rev], b'nowarn' |
566 ) |
566 ) |
567 ctx1a = scmutil.revsingle(repo, from_rev, None) |
567 ctx1a = scmutil.revsingle(repo, from_rev, None) |
568 ctx1b = repo[nullid] |
568 ctx1b = repo[nullrev] |
569 ctx2 = scmutil.revsingle(repo, to_rev, None) |
569 ctx2 = scmutil.revsingle(repo, to_rev, None) |
570 else: |
570 else: |
571 ctx1a, ctx2 = scmutil.revpair(repo, revs) |
571 ctx1a, ctx2 = scmutil.revpair(repo, revs) |
572 if not revs: |
572 if not revs: |
573 ctx1b = repo[None].p2() |
573 ctx1b = repo[None].p2() |
574 else: |
574 else: |
575 ctx1b = repo[nullid] |
575 ctx1b = repo[nullrev] |
576 |
576 |
577 # Disable 3-way merge if there is only one parent |
577 # Disable 3-way merge if there is only one parent |
578 if do3way: |
578 if do3way: |
579 if ctx1b.node() == nullid: |
579 if ctx1b.rev() == nullrev: |
580 do3way = False |
580 do3way = False |
581 |
581 |
582 matcher = scmutil.match(ctx2, pats, opts) |
582 matcher = scmutil.match(ctx2, pats, opts) |
583 |
583 |
584 if opts.get(b'patch'): |
584 if opts.get(b'patch'): |