import: disallow meaningless combination of "--exact" and "--edit"
Before this patch, "hg import" allows combination of "--exact" and
"--edit", even though editing commit message breaks exact-ness.
This patch disallows meaningless combination of "--exact" and "--edit".
--- a/mercurial/commands.py Sun Mar 16 17:31:31 2014 +0200
+++ b/mercurial/commands.py Sat Aug 23 23:03:50 2014 +0900
@@ -3880,6 +3880,8 @@
raise util.Abort(_('similarity must be between 0 and 100'))
if sim and not update:
raise util.Abort(_('cannot use --similarity with --bypass'))
+ if opts.get('exact') and opts.get('edit'):
+ raise util.Abort(_('cannot use --exact with --edit'))
if update:
cmdutil.checkunfinished(repo)
--- a/tests/test-import-bypass.t Sun Mar 16 17:31:31 2014 +0200
+++ b/tests/test-import-bypass.t Sat Aug 23 23:03:50 2014 +0900
@@ -22,10 +22,13 @@
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
Test importing an existing revision
-(this also tests that editor is not invoked for '--bypass', if the
-patch contains the commit message, regardless of '--edit')
+(this also tests that "hg import" disallows combination of '--exact'
+and '--edit')
- $ HGEDITOR=cat hg import --bypass --exact --edit ../test.diff
+ $ hg import --bypass --exact --edit ../test.diff
+ abort: cannot use --exact with --edit
+ [255]
+ $ hg import --bypass --exact ../test.diff
applying ../test.diff
$ shortlog
o 1:4e322f7ce8e3 test 0 0 - foo - changea
@@ -66,8 +69,10 @@
repository tip rolled back to revision 1 (undo import)
Test --import-branch
+(this also tests that editor is not invoked for '--bypass', if the
+patch contains the commit message, regardless of '--edit')
- $ hg import --bypass --import-branch ../test.diff
+ $ HGEDITOR=cat hg import --bypass --import-branch --edit ../test.diff
applying ../test.diff
$ shortlog
o 1:4e322f7ce8e3 test 0 0 - foo - changea