# HG changeset patch # User Anton Shestakov # Date 2016-03-31 07:37:21 # Node ID 80e922479891794d15f45c925fa218cdcec9544c # Parent 06ae7a6daad0d6e313d6121284869049b95607ee hgweb: generate last change date for an empty atom-bookmarks feed (issue5022) RFC 4287 states that atom feeds must have an 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 @@ {repo|escape}: bookmarks {repo|escape} bookmark history Mercurial SCM - {latestentry%feedupdated} + {lastchange%feedupdated} {entries%bookmarkentry} 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 test: bookmarks test bookmark history Mercurial SCM - + 1970-01-01T00:00:00+00:00