Mercurial > hg
changeset 3447:ef1032c223e7
sshrepo: add passing of lookup exceptions
author | Eric Hopper <hopper@omnifarious.org> |
---|---|
date | Sat, 09 Sep 2006 18:25:06 -0700 |
parents | 0b450267cf47 |
children | 6ca49c5fe268 |
files | mercurial/sshrepo.py mercurial/sshserver.py |
diffstat | 2 files changed, 13 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/sshrepo.py Sat Sep 09 18:25:06 2006 -0700 +++ b/mercurial/sshrepo.py Sat Sep 09 18:25:06 2006 -0700 @@ -133,9 +133,14 @@ def lookup(self, key): d = self.call("lookup", key=key) + success, data = d[:-1].split(" ", 1) try: - return bin(d[:-1]) + if int(success): + return bin(data) + else: + raise data except: + raise raise hg.RepoError("unexpected response '%s'" % (d[:400] + "...")) def heads(self):
--- a/mercurial/sshserver.py Sat Sep 09 18:25:06 2006 -0700 +++ b/mercurial/sshserver.py Sat Sep 09 18:25:06 2006 -0700 @@ -51,7 +51,13 @@ def do_lookup(self): arg, key = self.getarg() assert arg == 'key' - self.respond(hex(self.repo.lookup(key)) + "\n") + try: + r = hex(self.repo.lookup(key)) + success = 1 + except Exception,inst: + r = str(inst) + success = 0 + self.respond("%s %s\n" % (success, r)) def do_heads(self): h = self.repo.heads()