diff mercurial/hgweb/webcommands.py @ 28710:ca0c0ca30c62

hgweb: sort bookmarks early Let's do the same thing that /tags page does. It gets sorted tags and then if it needs the latest only, it just slices the first item from the list. Since it's a slice and not a min(), it doesn't throw an exception if the list is empty. This fixes HTTP 500 error from issue5022.
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 31 Mar 2016 14:23:27 +0800
parents d4419c01532b
children 06ae7a6daad0
line wrap: on
line diff
--- a/mercurial/hgweb/webcommands.py	Thu Mar 31 18:09:09 2016 +0800
+++ b/mercurial/hgweb/webcommands.py	Thu Mar 31 14:23:27 2016 +0800
@@ -606,13 +606,13 @@
     The ``bookmarks`` template is rendered.
     """
     i = [b for b in web.repo._bookmarks.items() if b[1] in web.repo]
+    i = sorted(i)
     parity = paritygen(web.stripecount)
 
     def entries(latestonly, **map):
+        t = i
         if latestonly:
-            t = [min(i)]
-        else:
-            t = sorted(i)
+            t = i[:1]
         for k, n in t:
             yield {"parity": parity.next(),
                    "bookmark": k,