ModuleAvailableFeature broken for modules with side-effects
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Medium
|
Vincent Ladeuil | ||
BzrTools |
Invalid
|
Undecided
|
Unassigned |
Bug Description
ModuleAvailable
def _probe(self):
try:
return True
except ImportError:
return False
This fails for 'bzrlib.
self._module = __import_
File "/home/
help="Access using the Subversion smart server tunneled over SSH.")
File "/home/
transport_
File "/home/
self.
File "/home/
raise KeyError('Key %r already registered' % key)
KeyError: "Key 'svn+ssh://' already registered"
Because the plugin has already been imported and its init code has already run.
- self._module = __import_
+ exec 'import %s' % (self.module_name)
+ self._module = sys.modules[
fixes the problem.
I'll submit patch.
Related branches
- John A Meinel: Approve
- bzr-core: Pending requested
-
Diff: 40 lines (+14/-4)2 files modifiedbzrlib/tests/features.py (+10/-4)
doc/en/release-notes/bzr-2.5.txt (+4/-0)
Changed in bzr: | |
status: | New → Confirmed |
assignee: | nobody → Vincent Ladeuil (vila) |
Changed in bzr: | |
status: | Confirmed → In Progress |
importance: | Undecided → Medium |
Changed in bzr: | |
status: | In Progress → Fix Released |
milestone: | none → 2.5b1 |
Changed in bzrtools: | |
status: | New → Invalid |