##// END OF EJS Templates
Fix lots of exception-related problems....
Bryan O'Sullivan -
r1251:84cf8834 default
parent child Browse files
Show More
@@ -5,9 +5,10 b''
5 # This software may be used and distributed according to the terms
5 # This software may be used and distributed according to the terms
6 # of the GNU General Public License, incorporated herein by reference.
6 # of the GNU General Public License, incorporated herein by reference.
7
7
8 import urllib, urllib2, urlparse, os, zlib
9 from node import *
8 from node import *
10 from remoterepo import *
9 from remoterepo import *
10 from demandload import *
11 demandload(globals(), "hg os urllib urllib2 urlparse zlib")
11
12
12 class httprepository(remoterepository):
13 class httprepository(remoterepository):
13 def __init__(self, ui, path):
14 def __init__(self, ui, path):
@@ -76,13 +77,13 b' class httprepository(remoterepository):'
76 if not proto.startswith('application/mercurial') and \
77 if not proto.startswith('application/mercurial') and \
77 not proto.startswith('text/plain') and \
78 not proto.startswith('text/plain') and \
78 not proto.startswith('application/hg-changegroup'):
79 not proto.startswith('application/hg-changegroup'):
79 raise RepoError("'%s' does not appear to be an hg repository"
80 raise hg.RepoError("'%s' does not appear to be an hg repository" %
80 % self.url)
81 self.url)
81
82
82 if proto.startswith('application/mercurial'):
83 if proto.startswith('application/mercurial'):
83 version = proto[22:]
84 version = proto[22:]
84 if float(version) > 0.1:
85 if float(version) > 0.1:
85 raise RepoError("'%s' uses newer protocol %s" %
86 raise hg.RepoError("'%s' uses newer protocol %s" %
86 (self.url, version))
87 (self.url, version))
87
88
88 return resp
89 return resp
@@ -5,9 +5,10 b''
5 # This software may be used and distributed according to the terms
5 # This software may be used and distributed according to the terms
6 # of the GNU General Public License, incorporated herein by reference.
6 # of the GNU General Public License, incorporated herein by reference.
7
7
8 import os, re, select
9 from node import *
8 from node import *
10 from remoterepo import *
9 from remoterepo import *
10 from demandload import *
11 demandload(globals(), "hg os re select")
11
12
12 class sshrepository(remoterepository):
13 class sshrepository(remoterepository):
13 def __init__(self, ui, path):
14 def __init__(self, ui, path):
@@ -16,7 +17,7 b' class sshrepository(remoterepository):'
16
17
17 m = re.match(r'ssh://(([^@]+)@)?([^:/]+)(:(\d+))?(/(.*))?', path)
18 m = re.match(r'ssh://(([^@]+)@)?([^:/]+)(:(\d+))?(/(.*))?', path)
18 if not m:
19 if not m:
19 raise RepoError("couldn't parse destination %s" % path)
20 raise hg.RepoError("couldn't parse destination %s" % path)
20
21
21 self.user = m.group(2)
22 self.user = m.group(2)
22 self.host = m.group(3)
23 self.host = m.group(3)
@@ -71,7 +72,7 b' class sshrepository(remoterepository):'
71 try:
72 try:
72 l = int(l)
73 l = int(l)
73 except:
74 except:
74 raise RepoError("unexpected response '%s'" % l)
75 raise hg.RepoError("unexpected response '%s'" % l)
75 return r.read(l)
76 return r.read(l)
76
77
77 def lock(self):
78 def lock(self):
@@ -86,7 +87,7 b' class sshrepository(remoterepository):'
86 try:
87 try:
87 return map(bin, d[:-1].split(" "))
88 return map(bin, d[:-1].split(" "))
88 except:
89 except:
89 raise RepoError("unexpected response '%s'" % (d[:400] + "..."))
90 raise hg.RepoError("unexpected response '%s'" % (d[:400] + "..."))
90
91
91 def branches(self, nodes):
92 def branches(self, nodes):
92 n = " ".join(map(hex, nodes))
93 n = " ".join(map(hex, nodes))
@@ -95,7 +96,7 b' class sshrepository(remoterepository):'
95 br = [ tuple(map(bin, b.split(" "))) for b in d.splitlines() ]
96 br = [ tuple(map(bin, b.split(" "))) for b in d.splitlines() ]
96 return br
97 return br
97 except:
98 except:
98 raise RepoError("unexpected response '%s'" % (d[:400] + "..."))
99 raise hg.RepoError("unexpected response '%s'" % (d[:400] + "..."))
99
100
100 def between(self, pairs):
101 def between(self, pairs):
101 n = "\n".join(["-".join(map(hex, p)) for p in pairs])
102 n = "\n".join(["-".join(map(hex, p)) for p in pairs])
@@ -104,7 +105,7 b' class sshrepository(remoterepository):'
104 p = [ l and map(bin, l.split(" ")) or [] for l in d.splitlines() ]
105 p = [ l and map(bin, l.split(" ")) or [] for l in d.splitlines() ]
105 return p
106 return p
106 except:
107 except:
107 raise RepoError("unexpected response '%s'" % (d[:400] + "..."))
108 raise hg.RepoError("unexpected response '%s'" % (d[:400] + "..."))
108
109
109 def changegroup(self, nodes):
110 def changegroup(self, nodes):
110 n = " ".join(map(hex, nodes))
111 n = " ".join(map(hex, nodes))
@@ -114,7 +115,7 b' class sshrepository(remoterepository):'
114 def addchangegroup(self, cg):
115 def addchangegroup(self, cg):
115 d = self.call("addchangegroup")
116 d = self.call("addchangegroup")
116 if d:
117 if d:
117 raise RepoError("push refused: %s", d)
118 raise hg.RepoError("push refused: %s", d)
118
119
119 while 1:
120 while 1:
120 d = cg.read(4096)
121 d = cg.read(4096)
General Comments 0
You need to be logged in to leave comments. Login now