# HG changeset patch
# User Scott Chacon <schacon@gmail.com>
# Date 1241807613 25200
#      Fri May 08 11:33:33 2009 -0700
# Node ID 64f451f2d50a240502475d57cde0006d1144f377
# Parent  6893f2a2cc66819c10f4084e2a8f223f6ae93282
disable demandimport while importing modules to catch ImportError to fallback to python 1.4 properly

diff --git a/dulwich/misc.py b/dulwich/misc.py
--- a/dulwich/misc.py
+++ b/dulwich/misc.py
@@ -20,12 +20,19 @@
 These utilities can all be deleted when dulwich decides it wants to stop
 support for python 2.4.
 """
+
+from mercurial import demandimport
+import __builtin__
+orig_import = __builtin__.__import__
+demandimport.disable()
+
 try:
     import hashlib
 except ImportError:
     import sha
 import struct
 
+__builtin__.__import__ = orig_import
 
 class defaultdict(dict):
     """A python 2.4 equivalent of collections.defaultdict."""
diff --git a/dulwich/pack.py b/dulwich/pack.py
--- a/dulwich/pack.py
+++ b/dulwich/pack.py
@@ -30,6 +30,11 @@
 a pointer in to the corresponding packfile.
 """
 
+from mercurial import demandimport
+import __builtin__
+orig_import = __builtin__.__import__
+demandimport.disable()
+
 try:
     from collections import defaultdict
 except ImportError:
@@ -61,6 +66,8 @@
     )
 from misc import make_sha
 
+__builtin__.__import__ = orig_import
+
 supports_mmap_offset = (sys.version_info[0] >= 3 or
         (sys.version_info[0] == 2 and sys.version_info[1] >= 6))