Enable demandimport only in scripts, not in importable modules (issue605)
authorThomas Arendsen Hein <thomas@intevation.de>
Sat, 18 Aug 2007 11:37:08 +0200
changeset 5197 55860a45bbf2
parent 5196 86e95b93559a
child 5198 74650bcacc09
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.
contrib/hg-ssh
contrib/hgwebdir.fcgi
hg
hgweb.cgi
hgwebdir.cgi
mercurial/hgweb/hgwebdir_mod.py
setup.py
--- a/contrib/hg-ssh	Fri Aug 17 23:20:13 2007 -0300
+++ b/contrib/hg-ssh	Sat Aug 18 11:37:08 2007 +0200
@@ -25,6 +25,9 @@
 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	Fri Aug 17 23:20:13 2007 -0300
+++ b/contrib/hgwebdir.fcgi	Sat Aug 18 11:37:08 2007 +0200
@@ -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	Fri Aug 17 23:20:13 2007 -0300
+++ b/hg	Sat Aug 18 11:37:08 2007 +0200
@@ -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	Fri Aug 17 23:20:13 2007 -0300
+++ b/hgweb.cgi	Sat Aug 18 11:37:08 2007 +0200
@@ -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	Fri Aug 17 23:20:13 2007 -0300
+++ b/hgwebdir.cgi	Sat Aug 18 11:37:08 2007 +0200
@@ -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	Fri Aug 17 23:20:13 2007 -0300
+++ b/mercurial/hgweb/hgwebdir_mod.py	Sat Aug 18 11:37:08 2007 +0200
@@ -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	Fri Aug 17 23:20:13 2007 -0300
+++ b/setup.py	Sat Aug 18 11:37:08 2007 +0200
@@ -14,8 +14,6 @@
 from distutils.command.install_data import install_data
 
 import mercurial.version
-import mercurial.demandimport
-mercurial.demandimport.enable = lambda: None
 
 extra = {}