686 # being updated to its first parent. |
686 # being updated to its first parent. |
687 m = None |
687 m = None |
688 else: |
688 else: |
689 m = scmutil.matchfiles(repo, files or []) |
689 m = scmutil.matchfiles(repo, files or []) |
690 editform = mergeeditform(repo[None], 'import.normal') |
690 editform = mergeeditform(repo[None], 'import.normal') |
691 editor = getcommiteditor(editform=editform, **opts) |
691 if opts.get('exact'): |
|
692 editor = None |
|
693 else: |
|
694 editor = getcommiteditor(editform=editform, **opts) |
692 n = repo.commit(message, opts.get('user') or user, |
695 n = repo.commit(message, opts.get('user') or user, |
693 opts.get('date') or date, match=m, |
696 opts.get('date') or date, match=m, |
694 editor=editor, force=partial) |
697 editor=editor, force=partial) |
695 else: |
698 else: |
696 if opts.get('exact') or opts.get('import_branch'): |
699 if opts.get('exact') or opts.get('import_branch'): |
703 try: |
706 try: |
704 patch.patchrepo(ui, repo, p1, store, tmpname, strip, |
707 patch.patchrepo(ui, repo, p1, store, tmpname, strip, |
705 files, eolmode=None) |
708 files, eolmode=None) |
706 except patch.PatchError, e: |
709 except patch.PatchError, e: |
707 raise util.Abort(str(e)) |
710 raise util.Abort(str(e)) |
708 editor = getcommiteditor(editform='import.bypass') |
711 if opts.get('exact'): |
|
712 editor = None |
|
713 else: |
|
714 editor = getcommiteditor(editform='import.bypass') |
709 memctx = context.makememctx(repo, (p1.node(), p2.node()), |
715 memctx = context.makememctx(repo, (p1.node(), p2.node()), |
710 message, |
716 message, |
711 opts.get('user') or user, |
717 opts.get('user') or user, |
712 opts.get('date') or date, |
718 opts.get('date') or date, |
713 branch, files, store, |
719 branch, files, store, |