Merge lp:~mkanat/loggerhead/bad-revno-404 into lp:loggerhead

Proposed by Max Kanat-Alexander
Status: Merged
Approved by: Michael Hudson-Doyle
Approved revision: 444
Merged at revision: 444
Proposed branch: lp:~mkanat/loggerhead/bad-revno-404
Merge into: lp:loggerhead
Diff against target: 31 lines (+8/-2)
1 file modified
loggerhead/controllers/__init__.py (+8/-2)
To merge this branch: bzr merge lp:~mkanat/loggerhead/bad-revno-404
Reviewer Review Type Date Requested Status
Michael Hudson-Doyle Approve
Review via email: mp+45800@code.launchpad.net

Description of the change

This prevents throwing a traceback (thus causing an OOPS on launchpad) when somebody picks an invalid revision on almost any page of loggerhead.

We now simply return a 404 instead.

To post a comment you must log in.
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

Thanks :-)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'loggerhead/controllers/__init__.py'
--- loggerhead/controllers/__init__.py 2010-12-03 17:11:21 +0000
+++ loggerhead/controllers/__init__.py 2011-01-11 00:38:12 +0000
@@ -17,9 +17,11 @@
17# along with this program; if not, write to the Free Software17# along with this program; if not, write to the Free Software
18# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA18# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1919
20import bzrlib.errors
20import os21import os
21import time22import time
2223
24from paste.httpexceptions import HTTPNotFound
23from paste.request import path_info_pop, parse_querystring25from paste.request import path_info_pop, parse_querystring
2426
25from loggerhead import util27from loggerhead import util
@@ -139,9 +141,13 @@
139 if h is None:141 if h is None:
140 return None142 return None
141 if len(self.args) > 0 and self.args != ['']:143 if len(self.args) > 0 and self.args != ['']:
142 return h.fix_revid(self.args[0])144 try:
145 revid = h.fix_revid(self.args[0])
146 except bzrlib.errors.NoSuchRevision:
147 raise HTTPNotFound;
143 else:148 else:
144 return h.last_revid149 revid = h.last_revid
150 return revid
145151
146 def tree_for(self, file_id, revid):152 def tree_for(self, file_id, revid):
147 file_revid = self._history.get_inventory(revid)[file_id].revision153 file_revid = self._history.get_inventory(revid)[file_id].revision

Subscribers

People subscribed via source and target branches