# HG changeset patch
# User Steve Losh <steve@stevelosh.com>
# Date 1278729137 14400
# Node ID 106c2afad69b9cb63150f77f645409b1baceb950
# Parent  8ccff9378aba6afaf2e39392a7771d96d0f58b64
web: return 404 when trying to access a nonexistant changeset

diff -r 8ccff9378aba -r 106c2afad69b review/web.py
--- a/review/web.py	Fri Jul 09 22:13:27 2010 -0400
+++ b/review/web.py	Fri Jul 09 22:32:17 2010 -0400
@@ -5,7 +5,7 @@
 import base64, sys, os, StringIO
 from hashlib import md5
 
-from mercurial import cmdutil, commands, hg, templatefilters
+from mercurial import cmdutil, commands, error, hg, templatefilters
 from mercurial.node import short
 from mercurial.util import email
 
@@ -158,7 +158,10 @@
         elif not app.read_only or app.allow_anon:
             return _handle_comment(revhash)
     
-    rcset = g.datastore[revhash]
+    try:
+        rcset = g.datastore[revhash]
+    except error.RepoLookupError:
+        abort(404)
     rev = rcset.target[revhash]
     
     cu_signoffs = rcset.signoffs_for_current_user()