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.
--- 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 = {}