Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/cmdutil.py @ 22278:ffaaa80fa724
import: avoid editor invocation when importing with "--exact" for exact-ness
Before this patch, external editor is invoked when imported patch has
no commit message, even if "--exact" is specified. Then, exact-ness is
broken, because empty commit message causes failure of committing.
This patch avoids editor invocation at importing with "--exact" for
exact-ness, because commit message in the patch should be kept as it
is in such case, even if it is empty.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sat, 23 Aug 2014 23:03:50 +0900 |
parents | 2229d757802d |
children | 650b5b6e75ed |
comparison
equal
deleted
inserted
replaced
22277:e116abad3afa | 22278:ffaaa80fa724 |
---|---|
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, |