import: show the warning message for failure of merging
Before this patch, no message is shown for failure of merging at "hg
import".
In such case, merging patch is imported as a normal revision silently,
and it may confuse users.
For simplicity, this patch recommends just using "--exact", even
though importing the merging patch itself is possible without it if:
- the hash of the 1st parent in the patch is equal to one of the
patch imported just before (or the parent of the working
directory, for the 1st patch of the series), and
- the hash of the 2nd parent in the patch is known in the local
repository
--- a/mercurial/cmdutil.py Wed Aug 27 15:30:09 2014 +0200
+++ b/mercurial/cmdutil.py Wed Aug 27 23:10:06 2014 +0900
@@ -628,6 +628,9 @@
p2 = repo[nullid]
except error.RepoError:
p1, p2 = parents
+ if p2.node() == nullid:
+ ui.warn(_("warning: import the patch as a normal revision\n"
+ "(use --exact to import the patch as a merge)\n"))
else:
p1, p2 = parents
--- a/tests/test-import-merge.t Wed Aug 27 15:30:09 2014 +0200
+++ b/tests/test-import-merge.t Wed Aug 27 23:10:06 2014 +0900
@@ -66,6 +66,8 @@
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg import ../merge.diff
applying ../merge.diff
+ warning: import the patch as a normal revision
+ (use --exact to import the patch as a merge)
$ tipparents
2:890ecaa90481 addc
$ hg strip --no-backup tip
@@ -99,6 +101,8 @@
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg import --bypass ../merge.diff
applying ../merge.diff
+ warning: import the patch as a normal revision
+ (use --exact to import the patch as a merge)
$ tipparents
2:890ecaa90481 addc
$ hg strip --no-backup tip