[PATCH] When failing to load an extension, show where Hg tried to load it from
Jesse Glick
Jesse.Glick at Sun.COM
Mon Mar 3 11:47:58 CST 2008
# HG changeset patch
# User Jesse Glick <jesse.glick at sun.com>
# Date 1204566417 18000
# Node ID f8a86ea7521bc5e88bb0e32311f6fd63537cd662
# Parent 3a75fcc96dac682dae610644bae12faf0cfa9aa2
When failing to load an extension, show where Hg tried to load it from.
diff --git a/mercurial/extensions.py b/mercurial/extensions.py
--- a/mercurial/extensions.py
+++ b/mercurial/extensions.py
@@ -78,8 +78,12 @@ def loadall(ui):
except (util.SignalInterrupt, KeyboardInterrupt):
raise
except Exception, inst:
- ui.warn(_("*** failed to import extension %s: %s\n") %
- (name, inst))
+ if path:
+ ui.warn(_("*** failed to import extension %s from %s: %s\n")
+ % (name, path, inst))
+ else:
+ ui.warn(_("*** failed to import extension %s: %s\n")
+ % (name, inst))
if ui.print_exc():
return 1
diff --git a/tests/test-bad-extension b/tests/test-bad-extension
--- a/tests/test-bad-extension
+++ b/tests/test-bad-extension
@@ -7,5 +7,7 @@ echo "gpg =" >> $HGRCPATH
echo "gpg =" >> $HGRCPATH
echo "hgext.gpg =" >> $HGRCPATH
echo "badext = $abspath" >> $HGRCPATH
+echo "badext2 =" >> $HGRCPATH
-hg -q help help
+hg -q help help 2>&1 | python -c \
+ "import sys; sys.stdout.write(sys.stdin.read().replace('$abspath', '.../badext.py'))"
diff --git a/tests/test-bad-extension.out b/tests/test-bad-extension.out
--- a/tests/test-bad-extension.out
+++ b/tests/test-bad-extension.out
@@ -1,4 +1,5 @@
-*** failed to import extension badext: bit bucket overflow
+*** failed to import extension badext from .../badext.py: bit bucket overflow
+*** failed to import extension badext2: No module named badext2
hg help [COMMAND]
show help for a command, extension, or list of commands
More information about the Mercurial-devel
mailing list