diff -r 2b5940f64750 -r efedda4aed49 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Tue Sep 16 16:03:21 2014 -0700 +++ b/mercurial/cmdutil.py Fri Sep 19 14:51:58 2014 -0500 @@ -727,7 +727,11 @@ n = memctx.commit() finally: store.close() - if opts.get('exact') and hex(n) != nodeid: + if opts.get('exact') and opts.get('no_commit'): + # --exact with --no-commit is still useful in that it does merge + # and branch bits + ui.warn(_("warning: can't check exact import with --no-commit\n")) + elif opts.get('exact') and hex(n) != nodeid: raise util.Abort(_('patch is damaged or loses information')) if n: # i18n: refers to a short changeset id