Disable mercurial.demandimport, since it breaks Bzr
authorW. Trevor King <wking@drexel.edu>
Wed, 30 Dec 2009 02:25:33 +0000 (21:25 -0500)
committerW. Trevor King <wking@drexel.edu>
Wed, 30 Dec 2009 02:25:33 +0000 (21:25 -0500)
Running
  python test.py libbe.storage.vcs.hg libbe.storage.vcs.bzr
with the old setup produced lots of
  Traceback (most recent call last):
    File ".../libbe/storage/vcs/base.py", line 1010, in setUp
      self.s.init()
    File ".../libbe/storage/base.py", line 170, in init
      return self._init()
    File ".../libbe/storage/vcs/base.py", line 664, in _init
      self._vcs_init(self.repo)
    File ".../libbe/storage/vcs/bzr.py", line 88, in _vcs_init
      cmd.run(location=path)
    File ".../python2.5/site-packages/bzrlib/builtins.py", line 1685, in run
      format = bzrdir.format_registry.make_bzrdir('default')
    File ".../python2.5/site-packages/bzrlib/bzrdir.py", line 3452, in make_bzrdir
      return self.get(key)()
    File ".../python2.5/site-packages/bzrlib/bzrdir.py", line 3398, in helper
      bd.set_branch_format(_load(branch_format))
    File ".../python2.5/site-packages/bzrlib/bzrdir.py", line 3385, in _load
      [factory_name])
    File "/var/lib/python-support/python2.5/mercurial/demandimport.py", line 108, in _demandimport
      setattr(mod, x, _demandmod(x, mod.__dict__, locals))
    File ".../python2.5/site-packages/bzrlib/lazy_import.py", line 106, in __getattribute__
      obj = _replace()
    File ".../python2.5/site-packages/bzrlib/lazy_import.py", line 88, in _replace
      extra=e)
  IllegalUseOfScopeReplacer: ScopeReplacer object 'branch' was used incorrectly: Object already cleaned up, did you assign it to another variable?: _factory

libbe/storage/vcs/hg.py

index 19e35858de7f6bd5b83812f585188bb715e011af..b280ff270f67385992135693f529e0171d33ac67 100644 (file)
@@ -22,8 +22,6 @@ Mercurial (hg) backend.
 """
 
 try:
-    # enable importing on demand to reduce startup time
-    from mercurial import demandimport; demandimport.enable()
     import mercurial
     import mercurial.version
     import mercurial.dispatch