--- a/mercurial/hgweb/hgweb_mod.py Sat Sep 09 18:25:06 2006 -0700
+++ b/mercurial/hgweb/hgweb_mod.py Wed Oct 18 02:08:36 2006 -0500
@@ -884,7 +884,13 @@
req.write(self.filelog(self.filectx(req)))
def do_lookup(self, req):
- resp = hex(self.repo.lookup(req.form['key'][0])) + "\n"
+ try:
+ r = hex(self.repo.lookup(req.form['key'][0]))
+ success = 1
+ except Exception,inst:
+ r = str(inst)
+ success = 0
+ resp = "%s %s\n" % (success, r)
req.httphdr("application/mercurial-0.1", length=len(resp))
req.write(resp)
--- a/mercurial/httprepo.py Sat Sep 09 18:25:06 2006 -0700
+++ b/mercurial/httprepo.py Wed Oct 18 02:08:36 2006 -0500
@@ -262,12 +262,11 @@
fp.close()
def lookup(self, key):
- try:
- d = self.do_cmd("lookup", key = key).read()
- return bin(d[:-1])
- except:
- self.ui.warn('Not able to look up revision named "%s"\n' % (key,))
- raise
+ d = self.do_cmd("lookup", key = key).read()
+ success, data = d[:-1].split(' ', 1)
+ if int(success):
+ return bin(data)
+ raise hg.RepoError(data)
def heads(self):
d = self.do_read("heads")