Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/sshrepo.py @ 5176:664a1c312972
fix-up references to repo.RepoError
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 15 Aug 2007 16:10:24 -0500 |
parents | 6b4127c7d52a |
children | 86e95b93559a |
comparison
equal
deleted
inserted
replaced
5175:012dbf88b9b2 | 5176:664a1c312972 |
---|---|
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 from node import * | 8 from node import * |
9 from remoterepo import * | 9 from remoterepo import * |
10 from i18n import _ | 10 from i18n import _ |
11 import hg, os, re, stat, util | 11 import repo, os, re, stat, util |
12 | 12 |
13 class sshrepository(remoterepository): | 13 class sshrepository(remoterepository): |
14 def __init__(self, ui, path, create=0): | 14 def __init__(self, ui, path, create=0): |
15 self._url = path | 15 self._url = path |
16 self.ui = ui | 16 self.ui = ui |
17 | 17 |
18 m = re.match(r'^ssh://(([^@]+)@)?([^:/]+)(:(\d+))?(/(.*))?$', path) | 18 m = re.match(r'^ssh://(([^@]+)@)?([^:/]+)(:(\d+))?(/(.*))?$', path) |
19 if not m: | 19 if not m: |
20 self.raise_(hg.RepoError(_("couldn't parse location %s") % path)) | 20 self.raise_(repo.RepoError(_("couldn't parse location %s") % path)) |
21 | 21 |
22 self.user = m.group(2) | 22 self.user = m.group(2) |
23 self.host = m.group(3) | 23 self.host = m.group(3) |
24 self.port = m.group(5) | 24 self.port = m.group(5) |
25 self.path = m.group(7) or "." | 25 self.path = m.group(7) or "." |
35 cmd = cmd % (sshcmd, args, remotecmd, self.path) | 35 cmd = cmd % (sshcmd, args, remotecmd, self.path) |
36 | 36 |
37 ui.note('running %s\n' % cmd) | 37 ui.note('running %s\n' % cmd) |
38 res = os.system(cmd) | 38 res = os.system(cmd) |
39 if res != 0: | 39 if res != 0: |
40 self.raise_(hg.RepoError(_("could not create remote repo"))) | 40 self.raise_(repo.RepoError(_("could not create remote repo"))) |
41 | 41 |
42 self.validate_repo(ui, sshcmd, args, remotecmd) | 42 self.validate_repo(ui, sshcmd, args, remotecmd) |
43 | 43 |
44 def url(self): | 44 def url(self): |
45 return self._url | 45 return self._url |
67 if l: | 67 if l: |
68 ui.debug(_("remote: "), l) | 68 ui.debug(_("remote: "), l) |
69 lines.append(l) | 69 lines.append(l) |
70 max_noise -= 1 | 70 max_noise -= 1 |
71 else: | 71 else: |
72 self.raise_(hg.RepoError(_("no suitable response from remote hg"))) | 72 self.raise_(repo.RepoError(_("no suitable response from remote hg"))) |
73 | 73 |
74 self.capabilities = () | 74 self.capabilities = () |
75 lines.reverse() | 75 lines.reverse() |
76 for l in lines: | 76 for l in lines: |
77 if l.startswith("capabilities:"): | 77 if l.startswith("capabilities:"): |
134 d = self.call("lookup", key=key) | 134 d = self.call("lookup", key=key) |
135 success, data = d[:-1].split(" ", 1) | 135 success, data = d[:-1].split(" ", 1) |
136 if int(success): | 136 if int(success): |
137 return bin(data) | 137 return bin(data) |
138 else: | 138 else: |
139 self.raise_(hg.RepoError(data)) | 139 self.raise_(repo.RepoError(data)) |
140 | 140 |
141 def heads(self): | 141 def heads(self): |
142 d = self.call("heads") | 142 d = self.call("heads") |
143 try: | 143 try: |
144 return map(bin, d[:-1].split(" ")) | 144 return map(bin, d[:-1].split(" ")) |
173 return self.do_cmd("changegroupsubset", bases=bases, heads=heads) | 173 return self.do_cmd("changegroupsubset", bases=bases, heads=heads) |
174 | 174 |
175 def unbundle(self, cg, heads, source): | 175 def unbundle(self, cg, heads, source): |
176 d = self.call("unbundle", heads=' '.join(map(hex, heads))) | 176 d = self.call("unbundle", heads=' '.join(map(hex, heads))) |
177 if d: | 177 if d: |
178 self.raise_(hg.RepoError(_("push refused: %s") % d)) | 178 self.raise_(repo.RepoError(_("push refused: %s") % d)) |
179 | 179 |
180 while 1: | 180 while 1: |
181 d = cg.read(4096) | 181 d = cg.read(4096) |
182 if not d: break | 182 if not d: break |
183 self.pipeo.write(str(len(d)) + '\n') | 183 self.pipeo.write(str(len(d)) + '\n') |
199 return int(r) | 199 return int(r) |
200 | 200 |
201 def addchangegroup(self, cg, source, url): | 201 def addchangegroup(self, cg, source, url): |
202 d = self.call("addchangegroup") | 202 d = self.call("addchangegroup") |
203 if d: | 203 if d: |
204 self.raise_(hg.RepoError(_("push refused: %s") % d)) | 204 self.raise_(repo.RepoError(_("push refused: %s") % d)) |
205 while 1: | 205 while 1: |
206 d = cg.read(4096) | 206 d = cg.read(4096) |
207 if not d: break | 207 if not d: break |
208 self.pipeo.write(d) | 208 self.pipeo.write(d) |
209 self.readerr() | 209 self.readerr() |