# HG changeset patch # User FUJIWARA Katsunori # Date 2014-08-27 14:10:06 # Node ID 0c838e7459a55726d3f55b29b0d7b26ca4ada2cb # Parent 9472284df4eb822baceac1c110e1525e4b28df17 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 diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -628,6 +628,9 @@ def tryimportone(ui, repo, hunk, parents 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 diff --git a/tests/test-import-merge.t b/tests/test-import-merge.t --- a/tests/test-import-merge.t +++ b/tests/test-import-merge.t @@ -66,6 +66,8 @@ Test without --exact and diff.p1 != work 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 @@ Test with --bypass and diff.p1 != workin 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