mercurial/hg.py
changeset 249 619e775aa7f9
parent 247 863b508c5b36
child 251 3fd8fc14b12f
--- a/mercurial/hg.py
+++ b/mercurial/hg.py
@@ -5,9 +5,8 @@
 # This software may be used and distributed according to the terms
 # of the GNU General Public License, incorporated herein by reference.
 
-import sys, struct, sha, socket, os, time, re, urllib2, tempfile
-import urllib
-from mercurial import byterange, lock
+import sys, struct, os
+from mercurial import lock
 from mercurial.transaction import *
 from mercurial.revlog import *
 from difflib import SequenceMatcher
@@ -139,6 +138,7 @@ class changelog(revlog):
 
     def add(self, manifest, list, desc, transaction, p1=None, p2=None,
                   user=None, date=None):
+        import socket, time
         user = (user or
                 os.environ.get("HGUSER") or
                 os.environ.get("EMAIL") or
@@ -315,6 +315,7 @@ class localrepository:
             self.dirstate = dirstate(self.opener, ui, self.root)
 
     def ignore(self, f):
+        import re
         if self.ignorelist is None:
             self.ignorelist = []
             try:
@@ -966,6 +967,8 @@ class localrepository:
 
     def merge3(self, fn, my, other):
         """perform a 3-way merge in the working directory"""
+
+        import tempfile
         
         def temp(prefix, node):
             pre = "%s~%s." % (os.path.basename(fn), prefix)
@@ -1177,10 +1180,14 @@ class remoterepository:
 
 def repository(ui, path=None, create=0):
     if path and path[:7] == "http://":
+        import urllib, urllib2
         return remoterepository(ui, path)
     if path and path[:5] == "hg://":
+        import urllib, urllib2
         return remoterepository(ui, path.replace("hg://", "http://"))
     if path and path[:11] == "old-http://":
+        import urllib, urllib2
+        from mercurial import byterange
         return localrepository(ui, path.replace("old-http://", "http://"))
     else:
         return localrepository(ui, path, create)