--- a/mercurial/hgweb/hgweb_mod.py Wed Aug 29 17:01:10 2007 -0700
+++ b/mercurial/hgweb/hgweb_mod.py Thu Aug 30 16:42:17 2007 +0200
@@ -206,7 +206,7 @@
opts=diffopts), f, tn)
def changelog(self, ctx, shortlog=False):
- def changelist(**map):
+ def changelist(limit=0,**map):
cl = self.repo.changelog
l = [] # build a list in forward order for efficiency
for i in xrange(start, end):
@@ -226,6 +226,9 @@
"tags": self.nodetagsdict(n),
"branches": self.nodebranchdict(ctx)})
+ if limit > 0:
+ l = l[:limit]
+
for e in l:
yield e
@@ -243,7 +246,9 @@
yield self.t(shortlog and 'shortlog' or 'changelog',
changenav=changenav,
node=hex(cl.tip()),
- rev=pos, changesets=count, entries=changelist,
+ rev=pos, changesets=count,
+ entries=lambda **x: changelist(limit=0,**x),
+ latestentry=lambda **x: changelist(limit=1,**x),
archives=self.archivelist("tip"))
def search(self, query):
@@ -344,7 +349,7 @@
pos = end - 1
parity = paritygen(self.stripecount, offset=start-end)
- def entries(**map):
+ def entries(limit=0, **map):
l = []
for i in xrange(start, end):
@@ -362,13 +367,17 @@
"child": self.siblings(fctx.children()),
"desc": ctx.description()})
+ if limit > 0:
+ l = l[:limit]
+
for e in l:
yield e
nodefunc = lambda x: fctx.filectx(fileid=x)
nav = revnavgen(pos, pagelen, count, nodefunc)
yield self.t("filelog", file=f, node=hex(fctx.node()), nav=nav,
- entries=entries)
+ entries=lambda **x: entries(limit=0, **x),
+ latestentry=lambda **x: entries(limit=1, **x))
def filerevision(self, fctx):
f = fctx.path()
@@ -508,10 +517,14 @@
i.reverse()
parity = paritygen(self.stripecount)
- def entries(notip=False, **map):
+ def entries(notip=False,limit=0, **map):
+ count = 0
for k, n in i:
if notip and k == "tip":
continue
+ if limit > 0 and count >= limit:
+ continue
+ count = count + 1
yield {"parity": parity.next(),
"tag": k,
"date": self.repo.changectx(n).date(),
@@ -519,8 +532,9 @@
yield self.t("tags",
node=hex(self.repo.changelog.tip()),
- entries=lambda **x: entries(False, **x),
- entriesnotip=lambda **x: entries(True, **x))
+ entries=lambda **x: entries(False,0, **x),
+ entriesnotip=lambda **x: entries(True,0, **x),
+ latestentry=lambda **x: entries(True,1, **x))
def summary(self):
i = self.repo.tagslist()
--- a/mercurial/templater.py Wed Aug 29 17:01:10 2007 -0700
+++ b/mercurial/templater.py Thu Aug 30 16:42:17 2007 +0200
@@ -270,6 +270,7 @@
"permissions": permissions,
"person": person,
"rfc822date": lambda x: util.datestr(x, "%a, %d %b %Y %H:%M:%S"),
+ "rfc3339date": lambda x: util.datestr(x, "%Y-%m-%dT%H:%M:%S", True, "%+03d:%02d"),
"short": lambda x: x[:12],
"shortdate": shortdate,
"stringify": stringify,
--- a/mercurial/util.py Wed Aug 29 17:01:10 2007 -0700
+++ b/mercurial/util.py Thu Aug 30 16:42:17 2007 +0200
@@ -1448,7 +1448,7 @@
tz = time.timezone
return time.mktime(lt), tz
-def datestr(date=None, format='%a %b %d %H:%M:%S %Y', timezone=True):
+def datestr(date=None, format='%a %b %d %H:%M:%S %Y', timezone=True, timezone_format=" %+03d%02d"):
"""represent a (unixtime, offset) tuple as a localized time.
unixtime is seconds since the epoch, and offset is the time zone's
number of seconds away from UTC. if timezone is false, do not
@@ -1456,7 +1456,7 @@
t, tz = date or makedate()
s = time.strftime(format, time.gmtime(float(t) - tz))
if timezone:
- s += " %+03d%02d" % (-tz / 3600, ((-tz % 3600) / 60))
+ s += timezone_format % (-tz / 3600, ((-tz % 3600) / 60))
return s
def strdate(string, format, defaults):
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/atom/changelog.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -0,0 +1,10 @@
+#header#
+ <!-- Changelog -->
+ <id>{urlbase}{url}</id>
+ <link rel="self" href="{urlbase}{url}atom-log"/>
+ <link rel="alternate" href="{urlbase}{url}"/>
+ <title>#repo|escape# Changelog</title>
+ #latestentry%feedupdated#
+
+#entries%changelogentry#
+</feed>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/atom/changelogentry.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -0,0 +1,16 @@
+ <entry>
+ <title>#desc|strip|firstline|strip|escape#</title>
+ <id>http://www.selenic.com/mercurial/#changeset-{node}</id>
+ <link href="{urlbase}{url}rev/{node}"/>
+ <author>
+ <name>#author|person|escape#</name>
+ <email>#author|email|obfuscate#</email>
+ </author>
+ <updated>#date|rfc3339date#</updated>
+ <published>#date|rfc3339date#</published>
+ <content type="xhtml">
+ <xhtml:div>
+ <xhtml:pre xml:space="preserve">#desc|escape#</xhtml:pre>
+ </xhtml:div>
+ </content>
+ </entry>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/atom/filelog.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -0,0 +1,8 @@
+#header#
+ <id>{urlbase}{url}atom-log/tip/{file|escape}</id>
+ <link rel="self" href="{urlbase}{url}atom-log/tip/{file|escape}"/>
+ <title>#repo|escape#: #file|escape# history</title>
+ #latestentry%feedupdated#
+
+#entries%changelogentry#
+</feed>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/atom/header.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -0,0 +1,4 @@
+Content-type: application/atom+xml; charset={encoding}
+
+<?xml version="1.0" encoding="{encoding}"?>
+<feed xmlns="http://www.w3.org/2005/Atom" xmlns:xhtml="http://www.w3.org/1999/xhtml">
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/atom/map Thu Aug 30 16:42:17 2007 +0200
@@ -0,0 +1,9 @@
+default = 'changelog'
+feedupdated = '<updated>#date|rfc3339date#</updated>'
+header = header.tmpl
+changelog = changelog.tmpl
+changelogentry = changelogentry.tmpl
+filelog = filelog.tmpl
+filelogentry = filelogentry.tmpl
+tags = tags.tmpl
+tagentry = tagentry.tmpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/atom/tagentry.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -0,0 +1,8 @@
+ <entry>
+ <title>#tag|escape#</title>
+ <link rel="alternate" href="{urlbase}{url}rev/{node}"/>
+ <id>http://www.selenic.com/mercurial/#tag-{node}</id>
+ <updated>#date|rfc3339date#</updated>
+ <published>#date|rfc3339date#</published>
+ <content type="text">#tag|strip|escape#</content>
+ </entry>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/atom/tags.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -0,0 +1,11 @@
+#header#
+ <id>{urlbase}{url}</id>
+ <link rel="self" href="{urlbase}{url}atom-tags"/>
+ <link rel="alternate" href="{urlbase}{url}tags"/>
+ <title>#repo|escape#: tags</title>
+ <summary>#repo|escape# tag history</summary>
+ <author><name>Mercurial SCM</name></author>
+ #latestentry%feedupdated#
+
+#entriesnotip%tagentry#
+</feed>
--- a/templates/changelog.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/changelog.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: changelog</title>
+<link rel="alternate" type="application/atom+xml"
+ href="#url#atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="#url#rss-log" title="RSS feed for #repo|escape#">
</head>
@@ -11,6 +13,7 @@
<a href="#url#file/#node|short#{sessionvars%urlparameter}">manifest</a>
#archives%archiveentry#
<a type="application/rss+xml" href="#url#rss-log">rss</a>
+<a type="application/atom+xml" href="#url#atom-log" title="Atom feed for #repo|escape#">atom</a>
</div>
<h2>changelog for #repo|escape#</h2>
--- a/templates/filelog.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/filelog.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: #file|escape# history</title>
+<link rel="alternate" type="application/atom+xml"
+ href="#url#atom-log/tip/#file|urlescape#" title="Atom feed for #repo|escape#:#file#">
<link rel="alternate" type="application/rss+xml"
href="#url#rss-log/tip/#file|urlescape#" title="RSS feed for #repo|escape#:#file#">
</head>
@@ -13,6 +15,7 @@
<a href="#url#file/#node|short#/#file|urlescape#{sessionvars%urlparameter}">file</a>
<a href="#url#annotate/#node|short#/#file|urlescape#{sessionvars%urlparameter}">annotate</a>
<a type="application/rss+xml" href="#url#rss-log/tip/#file|urlescape#">rss</a>
+<a type="application/atom+xml" href="#url#atom-log/tip/#file|urlescape#" title="Atom feed for #repo|escape#:#file#">atom</a>
</div>
<h2>#file|escape# revision history</h2>
--- a/templates/gitweb/changelog.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/changelog.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: Changelog</title>
+<link rel="alternate" type="application/atom+xml"
+ href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
--- a/templates/gitweb/changeset.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/changeset.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>{repo|escape}: changeset {rev}:{node|short}</title>
+<link rel="alternate" type="application/atom+xml"
+ href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
--- a/templates/gitweb/error.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/error.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: Error</title>
+<link rel="alternate" type="application/atom+xml"
+ href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
--- a/templates/gitweb/fileannotate.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/fileannotate.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>{repo|escape}: {file|escape}@{node|short} (annotated)</title>
+<link rel="alternate" type="application/atom+xml"
+ href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
--- a/templates/gitweb/filediff.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/filediff.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
{header}
<title>{repo|escape}: diff {file|escape}</title>
+<link rel="alternate" type="application/atom+xml"
+ href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for {repo|escape}">
</head>
--- a/templates/gitweb/filelog.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/filelog.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: File revisions</title>
+<link rel="alternate" type="application/atom+xml"
+ href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
--- a/templates/gitweb/filerevision.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/filerevision.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>{repo|escape}: {file|escape}@{node|short}</title>
+<link rel="alternate" type="application/atom+xml"
+ href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
--- a/templates/gitweb/footer.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/footer.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,6 +1,7 @@
<div class="page_footer">
<div class="page_footer_text">#repo|escape#</div>
-<a class="rss_logo" href="#url#rss-log">RSS</a>
+<a class="rss_logo" href="#url#rss-log">RSS</a>
+<a class="rss_logo" href="#url#atom-log">Atom</a>
<br />
#motd#
</div>
--- a/templates/gitweb/index.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/index.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -14,6 +14,7 @@
<td><a href="?sort=#sort_contact#">Contact</a></td>
<td><a href="?sort=#sort_lastchange#">Last change</a></td>
<td> </td>
+ <td> </td>
<tr>
#entries%indexentry#
</table>
--- a/templates/gitweb/manifest.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/manifest.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: Manifest</title>
+<link rel="alternate" type="application/atom+xml"
+ href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
--- a/templates/gitweb/map Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/map Thu Aug 30 16:42:17 2007 +0200
@@ -52,7 +52,7 @@
shortlogentry = '<tr class="parity#parity#"><td class="age"><i>#date|age# ago</i></td><td><i>#author|person#</i></td><td><a class="list" href="{url}rev/#node|short#{sessionvars%urlparameter}"><b>#desc|strip|firstline|escape#</b> <span class="logtags">{branches%branchtag}{tags%tagtag}</span></a></td><td class="link" nowrap><a href="{url}rev/#node|short#{sessionvars%urlparameter}">changeset</a> | <a href="{url}file/#node|short#{sessionvars%urlparameter}">manifest</a></td></tr>'
filelogentry = '<tr class="parity#parity#"><td class="age"><i>#date|age# ago</i></td><td><a class="list" href="{url}rev/#node|short#{sessionvars%urlparameter}"><b>#desc|strip|firstline|escape#</b></a></td><td class="link"><a href="{url}file/#node|short#/#file|urlescape#{sessionvars%urlparameter}">file</a> | <a href="{url}diff/#node|short#/#file|urlescape#{sessionvars%urlparameter}">diff</a> | <a href="{url}annotate/#node|short#/#file|urlescape#{sessionvars%urlparameter}">annotate</a> #rename%filelogrename#</td></tr>'
archiveentry = ' | <a href="{url}archive/{node|short}{extension}">#type|escape#</a> '
-indexentry = '<tr class="parity#parity#"><td><a class="list" href="#url#{sessionvars%urlparameter}"><b>#name|escape#</b></a></td><td>#description#</td><td>#contact|obfuscate#</td><td class="age">#lastchange|age# ago</td><td class="indexlinks"><a class="rss_logo" href="#url#rss-log">RSS</a> #archives%archiveentry#</td></tr>'
+indexentry = '<tr class="parity#parity#"><td><a class="list" href="#url#{sessionvars%urlparameter}"><b>#name|escape#</b></a></td><td>#description#</td><td>#contact|obfuscate#</td><td class="age">#lastchange|age# ago</td><td class="indexlinks">#archives%archiveentry#</td><td><a class="rss_logo" href="#url#rss-log">RSS</a> <a class="rss_logo" href="#url#atom-log">Atom</a></td></tr>'
index = index.tmpl
urlparameter = '#separator##name#=#value|urlescape#'
hiddenformentry = '<input type="hidden" name="#name#" value="#value|escape#" />'
--- a/templates/gitweb/search.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/search.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: Search</title>
+<link rel="alternate" type="application/atom+xml"
+ href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
--- a/templates/gitweb/shortlog.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/shortlog.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: Shortlog</title>
+<link rel="alternate" type="application/atom+xml"
+ href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
--- a/templates/gitweb/summary.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/summary.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: Summary</title>
+<link rel="alternate" type="application/atom+xml"
+ href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
--- a/templates/gitweb/tags.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/gitweb/tags.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: Tags</title>
+<link rel="alternate" type="application/atom+xml"
+ href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
--- a/templates/map Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/map Thu Aug 30 16:42:17 2007 +0200
@@ -47,7 +47,7 @@
filelogparent = '<tr><th>parent #rev#:</th><td><a href="#url#file/#node|short#/#file|urlescape#{sessionvars%urlparameter}">#node|short#</a></td></tr>'
filediffchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="#url#rev/#node|short#{sessionvars%urlparameter}">#node|short#</a></td></tr>'
filelogchild = '<tr><th>child #rev#:</th><td><a href="#url#file/#node|short#/#file|urlescape#{sessionvars%urlparameter}">#node|short#</a></td></tr>'
-indexentry = '<tr class="parity#parity#"><td><a href="#url#{sessionvars%urlparameter}">#name|escape#</a></td><td>#description#</td><td>#contact|obfuscate#</td><td class="age">#lastchange|age# ago</td><td class="indexlinks"><a href="#url#rss-log">RSS</a> #archives%archiveentry#</td></tr>'
+indexentry = '<tr class="parity#parity#"><td><a href="#url#{sessionvars%urlparameter}">#name|escape#</a></td><td>#description#</td><td>#contact|obfuscate#</td><td class="age">#lastchange|age# ago</td><td class="indexlinks"><a href="#url#rss-log">RSS</a> <a href="#url#atom-log">Atom</a> #archives%archiveentry#</td></tr>'
index = index.tmpl
archiveentry = '<a href="#url#archive/#node|short##extension|urlescape#">#type|escape#</a> '
notfound = notfound.tmpl
--- a/templates/old/changelog.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/old/changelog.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: changelog</title>
+<link rel="alternate" type="application/atom+xml"
+ href="#url#atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
</head>
@@ -11,6 +13,7 @@
<a href="?mf=#node|short#;path=/">manifest</a>
#archives%archiveentry#
<a type="application/rss+xml" href="?style=rss">rss</a>
+<a type="application/atom+xml" href="#url#atom-log" title="Atom feed for #repo|escape#">atom</a>
</div>
<h2>changelog for #repo|escape#</h2>
--- a/templates/old/filelog.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/old/filelog.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: #file|escape# history</title>
+<link rel="alternate" type="application/atom+xml"
+ href="#url#atom-log/tip/#file|urlescape#" title="Atom feed for #repo|escape#:#file#">
<link rel="alternate" type="application/rss+xml"
href="?fl=0;file=#file|urlescape#;style=rss" title="RSS feed for #repo|escape#:#file#">
</head>
@@ -13,6 +15,7 @@
<a href="?f=#node|short#;file=#file|urlescape#">file</a>
<a href="?fa=#node|short#;file=#file|urlescape#">annotate</a>
<a type="application/rss+xml" href="?fl=0;file=#file|urlescape#;style=rss">rss</a>
+<a type="application/atom+xml" href="#url#atom-log/tip/#file|urlescape#" title="Atom feed for #repo|escape#:#file#">atom</a>
</div>
<h2>#file|escape# revision history</h2>
--- a/templates/old/map Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/old/map Thu Aug 30 16:42:17 2007 +0200
@@ -46,7 +46,7 @@
filelogparent = '<tr><th>parent #rev#:</th><td><a href="?f=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
filediffchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
filelogchild = '<tr><th>child #rev#:</th><td><a href="?f=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
-indexentry = '<tr class="parity#parity#"><td><a href="#url#">#name|escape#</a></td><td>#description#</td><td>#contact|obfuscate#</td><td class="age">#lastchange|age# ago</td><td class="indexlinks"><a href="#url#?cl=tip;style=rss">RSS</a> #archives%archiveentry#</td></tr>'
+indexentry = '<tr class="parity#parity#"><td><a href="#url#">#name|escape#</a></td><td>#description#</td><td>#contact|obfuscate#</td><td class="age">#lastchange|age# ago</td><td class="indexlinks"><a href="#url#?cl=tip;style=rss">RSS</a> <a href="#url#atom-log">Atom</a> #archives%archiveentry#</td></tr>'
index = index.tmpl
archiveentry = '<a href="#url#?ca=#node|short#;type=#type|urlescape#">#type|escape#</a> '
notfound = notfound.tmpl
--- a/templates/old/shortlog.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/old/shortlog.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: shortlog</title>
+<link rel="alternate" type="application/atom+xml"
+ href="#url#atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
</head>
@@ -11,6 +13,7 @@
<a href="?mf=#node|short#;path=/">manifest</a>
#archives%archiveentry#
<a type="application/rss+xml" href="?style=rss">rss</a>
+<a type="application/atom+xml" href="#url#atom-log" title="Atom feed for #repo|escape#">atom</a>
</div>
<h2>shortlog for #repo|escape#</h2>
--- a/templates/old/tags.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/old/tags.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: tags</title>
+<link rel="alternate" type="application/atom+xml"
+ href="#url#atom-tags" title="Atom feed for #repo|escape#: tags">
<link rel="alternate" type="application/rss+xml"
href="?cmd=tags;style=rss" title="RSS feed for #repo|escape#: tags">
</head>
@@ -10,6 +12,7 @@
<a href="?sl=tip">shortlog</a>
<a href="?mf=#node|short#;path=/">manifest</a>
<a type="application/rss+xml" href="?cmd=tags;style=rss">rss</a>
+<a type="application/atom+xml" href="#url#atom-tags">atom</a>
</div>
<h2>tags:</h2>
--- a/templates/shortlog.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/shortlog.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: shortlog</title>
+<link rel="alternate" type="application/atom+xml"
+ href="#url#atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="#url#rss-log" title="RSS feed for #repo|escape#">
</head>
@@ -11,6 +13,7 @@
<a href="#url#file/#node|short#/{sessionvars%urlparameter}">manifest</a>
#archives%archiveentry#
<a type="application/rss+xml" href="#url#rss-log">rss</a>
+<a type="application/rss+xml" href="#url#atom-log" title="Atom feed for #repo|escape#">atom</a>
</div>
<h2>shortlog for #repo|escape#</h2>
--- a/templates/tags.tmpl Wed Aug 29 17:01:10 2007 -0700
+++ b/templates/tags.tmpl Thu Aug 30 16:42:17 2007 +0200
@@ -1,5 +1,7 @@
#header#
<title>#repo|escape#: tags</title>
+<link rel="alternate" type="application/atom+xml"
+ href="#url#atom-tags" title="Atom feed for #repo|escape#: tags">
<link rel="alternate" type="application/rss+xml"
href="#url#rss-tags" title="RSS feed for #repo|escape#: tags">
</head>
@@ -10,6 +12,7 @@
<a href="#url#shortlog{sessionvars%urlparameter}">shortlog</a>
<a href="#url#file/#node|short#/{sessionvars%urlparameter}">manifest</a>
<a type="application/rss+xml" href="#url#rss-tags">rss</a>
+<a type="application/atom+xml" href="#url#atom-tags">atom</a>
</div>
<h2>tags:</h2>