[PATCH 3 of 3] hgweb: generate last change date for an empty atom-bookmarks feed (issue5022)

Anton Shestakov av6 at dwimlabs.net
Thu Mar 31 04:12:21 EDT 2016


# HG changeset patch
# User Anton Shestakov <av6 at dwimlabs.net>
# Date 1459409841 -28800
#      Thu Mar 31 15:37:21 2016 +0800
# Node ID 072a33253a8cc0479fc8cce2a4ab025fbafa5986
# Parent  2cc26be32b21a913de45f77d3125b335e60beead
hgweb: generate last change date for an empty atom-bookmarks feed (issue5022)

RFC 4287 states that atom feeds must have an <updated> element, so let's add
one even when repo doesn't have a single bookmark.

diff --git a/mercurial/hgweb/webcommands.py b/mercurial/hgweb/webcommands.py
--- a/mercurial/hgweb/webcommands.py
+++ b/mercurial/hgweb/webcommands.py
@@ -620,8 +620,14 @@ def bookmarks(web, req, tmpl):
                    "date": web.repo[n].date(),
                    "node": hex(n)}
 
+    if i:
+        latestrev = i[0][1]
+    else:
+        latestrev = -1
+
     return tmpl("bookmarks",
                 node=hex(web.repo.changelog.tip()),
+                lastchange=[{"date": web.repo[latestrev].date()}],
                 entries=lambda **x: entries(latestonly=False, **x),
                 latestentry=lambda **x: entries(latestonly=True, **x))
 
diff --git a/mercurial/templates/atom/bookmarks.tmpl b/mercurial/templates/atom/bookmarks.tmpl
--- a/mercurial/templates/atom/bookmarks.tmpl
+++ b/mercurial/templates/atom/bookmarks.tmpl
@@ -5,7 +5,7 @@
  <title>{repo|escape}: bookmarks</title>
  <summary>{repo|escape} bookmark history</summary>
  <author><name>Mercurial SCM</name></author>
- {latestentry%feedupdated}
+ {lastchange%feedupdated}
 
 {entries%bookmarkentry}
 </feed>
diff --git a/tests/test-hgweb-empty.t b/tests/test-hgweb-empty.t
--- a/tests/test-hgweb-empty.t
+++ b/tests/test-hgweb-empty.t
@@ -472,7 +472,7 @@ Some tests for hgweb in an empty reposit
    <title>test: bookmarks</title>
    <summary>test bookmark history</summary>
    <author><name>Mercurial SCM</name></author>
-   
+   <updated>1970-01-01T00:00:00+00:00</updated>
   
   
   </feed>


More information about the Mercurial-devel mailing list