# HG changeset patch # User Matt Mackall # Date 1182220227 18000 # Node ID 8d46056960ab555053fd1f2e6536711277609941 # Parent e3afa670e48495648903017253b75d2a494fbf5e dispatch: report failed imports nicely diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -115,6 +115,14 @@ def runcatch(ui, args): ui.warn(_(" empty string\n")) else: ui.warn("\n%r\n" % util.ellipsis(inst[1])) + except ImportError, inst: + m = str(inst).split()[-1] + ui.warn(_("abort: could not import module %s!\n" % m)) + if m in "mpatch bdiff".split(): + ui.warn(_("(did you forget to compile extensions?)\n")) + elif m in "zlib".split(): + ui.warn(_("(is your Python install correct?)\n")) + except util.Abort, inst: ui.warn(_("abort: %s\n") % inst) except SystemExit, inst: