Cache extension load failures.
hg commands call extensions.loadall twice, once during dispatch and
once when the repository is instantiated. Without this change, load
caches successful loads, but not unsuccessful, causing errors to be
displayed twice.
--- a/mercurial/extensions.py
+++ b/mercurial/extensions.py
@@ -24,6 +24,7 @@ def find(name):
def load(ui, name, path):
if name in _extensions:
return
+ _extensions[shortname] = None
if path:
# the module will be loaded in sys.modules
# choose an unique name so that it doesn't