changeset 5197:55860a45bbf2

Enable demandimport only in scripts, not in importable modules (issue605) This way other applications can choose if and when they want this feature, because it might be problematic if those applications rely on ImportError.
author Thomas Arendsen Hein <thomas@intevation.de>
date Sat, 18 Aug 2007 11:37:08 +0200
parents 86e95b93559a
children 74650bcacc09
files contrib/hg-ssh contrib/hgwebdir.fcgi hg hgweb.cgi hgwebdir.cgi mercurial/hgweb/hgwebdir_mod.py setup.py
diffstat 7 files changed, 15 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/hg-ssh
+++ b/contrib/hg-ssh
@@ -25,6 +25,9 @@ You can use pattern matching of your nor
 command="cd repos && hg-ssh user/thomas/* projects/{mercurial,foo}"
 """
 
+# enable importing on demand to reduce startup time
+from mercurial import demandimport; demandimport.enable()
+
 from mercurial import dispatch
 
 import sys, os
--- a/contrib/hgwebdir.fcgi
+++ b/contrib/hgwebdir.fcgi
@@ -2,6 +2,9 @@
 #
 # An example CGI script to export multiple hgweb repos, edit as necessary
 
+# enable demandloading to reduce startup time
+from mercurial import demandimport; demandimport.enable()
+
 # send python tracebacks to the browser if an error occurs:
 import cgitb
 cgitb.enable()
--- a/hg
+++ b/hg
@@ -7,5 +7,8 @@
 # This software may be used and distributed according to the terms
 # of the GNU General Public License, incorporated herein by reference.
 
+# enable importing on demand to reduce startup time
+from mercurial import demandimport; demandimport.enable()
+
 import mercurial.dispatch
 mercurial.dispatch.run()
--- a/hgweb.cgi
+++ b/hgweb.cgi
@@ -2,6 +2,9 @@
 #
 # An example CGI script to use hgweb, edit as necessary
 
+# enable importing on demand to reduce startup time
+from mercurial import demandimport; demandimport.enable()
+
 # send python tracebacks to the browser if an error occurs:
 import cgitb
 cgitb.enable()
--- a/hgwebdir.cgi
+++ b/hgwebdir.cgi
@@ -2,6 +2,9 @@
 #
 # An example CGI script to export multiple hgweb repos, edit as necessary
 
+# enable importing on demand to reduce startup time
+from mercurial import demandimport; demandimport.enable()
+
 # send python tracebacks to the browser if an error occurs:
 import cgitb
 cgitb.enable()
--- a/mercurial/hgweb/hgwebdir_mod.py
+++ b/mercurial/hgweb/hgwebdir_mod.py
@@ -6,7 +6,6 @@
 # This software may be used and distributed according to the terms
 # of the GNU General Public License, incorporated herein by reference.
 
-from mercurial import demandimport; demandimport.enable()
 import os, mimetools, cStringIO
 from mercurial.i18n import gettext as _
 from mercurial import ui, hg, util, templater
--- a/setup.py
+++ b/setup.py
@@ -14,8 +14,6 @@ from distutils.core import setup, Extens
 from distutils.command.install_data import install_data
 
 import mercurial.version
-import mercurial.demandimport
-mercurial.demandimport.enable = lambda: None
 
 extra = {}