[PATCH 1 of 1] Fix lots of exception-related problems

Bryan O'Sullivan bos at serpentine.com
Wed Sep 14 17:44:06 CDT 2005


# HG changeset patch
# User Bryan O'Sullivan <bos at serpentine.com>
# Node ID 84cf8834efb58cf7baeec655dca70eb79be9b3c3
# Parent  0ad3f9b27260228d237be2f40c986735133ea6ec
Fix lots of exception-related problems.
These have been around since the Big Code Split.

diff -r 0ad3f9b27260 -r 84cf8834efb5 mercurial/httprepo.py
--- a/mercurial/httprepo.py	Wed Sep 14 21:39:46 2005
+++ b/mercurial/httprepo.py	Wed Sep 14 22:41:22 2005
@@ -5,9 +5,10 @@
 # This software may be used and distributed according to the terms
 # of the GNU General Public License, incorporated herein by reference.
 
-import urllib, urllib2, urlparse, os, zlib
 from node import *
 from remoterepo import *
+from demandload import *
+demandload(globals(), "hg os urllib urllib2 urlparse zlib")
 
 class httprepository(remoterepository):
     def __init__(self, ui, path):
@@ -76,14 +77,14 @@
         if not proto.startswith('application/mercurial') and \
                not proto.startswith('text/plain') and \
                not proto.startswith('application/hg-changegroup'):
-            raise RepoError("'%s' does not appear to be an hg repository"
-                            % self.url)
+            raise hg.RepoError("'%s' does not appear to be an hg repository" %
+                               self.url)
 
         if proto.startswith('application/mercurial'):
             version = proto[22:]
             if float(version) > 0.1:
-                raise RepoError("'%s' uses newer protocol %s" %
-                                (self.url, version))
+                raise hg.RepoError("'%s' uses newer protocol %s" %
+                                   (self.url, version))
 
         return resp
 
diff -r 0ad3f9b27260 -r 84cf8834efb5 mercurial/sshrepo.py
--- a/mercurial/sshrepo.py	Wed Sep 14 21:39:46 2005
+++ b/mercurial/sshrepo.py	Wed Sep 14 22:41:22 2005
@@ -5,9 +5,10 @@
 # This software may be used and distributed according to the terms
 # of the GNU General Public License, incorporated herein by reference.
 
-import os, re, select
 from node import *
 from remoterepo import *
+from demandload import *
+demandload(globals(), "hg os re select")
 
 class sshrepository(remoterepository):
     def __init__(self, ui, path):
@@ -16,7 +17,7 @@
 
         m = re.match(r'ssh://(([^@]+)@)?([^:/]+)(:(\d+))?(/(.*))?', path)
         if not m:
-            raise RepoError("couldn't parse destination %s" % path)
+            raise hg.RepoError("couldn't parse destination %s" % path)
 
         self.user = m.group(2)
         self.host = m.group(3)
@@ -71,7 +72,7 @@
         try:
             l = int(l)
         except:
-            raise RepoError("unexpected response '%s'" % l)
+            raise hg.RepoError("unexpected response '%s'" % l)
         return r.read(l)
 
     def lock(self):
@@ -86,7 +87,7 @@
         try:
             return map(bin, d[:-1].split(" "))
         except:
-            raise RepoError("unexpected response '%s'" % (d[:400] + "..."))
+            raise hg.RepoError("unexpected response '%s'" % (d[:400] + "..."))
 
     def branches(self, nodes):
         n = " ".join(map(hex, nodes))
@@ -95,7 +96,7 @@
             br = [ tuple(map(bin, b.split(" "))) for b in d.splitlines() ]
             return br
         except:
-            raise RepoError("unexpected response '%s'" % (d[:400] + "..."))
+            raise hg.RepoError("unexpected response '%s'" % (d[:400] + "..."))
 
     def between(self, pairs):
         n = "\n".join(["-".join(map(hex, p)) for p in pairs])
@@ -104,7 +105,7 @@
             p = [ l and map(bin, l.split(" ")) or [] for l in d.splitlines() ]
             return p
         except:
-            raise RepoError("unexpected response '%s'" % (d[:400] + "..."))
+            raise hg.RepoError("unexpected response '%s'" % (d[:400] + "..."))
 
     def changegroup(self, nodes):
         n = " ".join(map(hex, nodes))
@@ -114,7 +115,7 @@
     def addchangegroup(self, cg):
         d = self.call("addchangegroup")
         if d:
-            raise RepoError("push refused: %s", d)
+            raise hg.RepoError("push refused: %s", d)
 
         while 1:
             d = cg.read(4096)


More information about the Mercurial mailing list