diff --git a/mercurial/templates/atom/branchentry.tmpl b/mercurial/templates/atom/branchentry.tmpl
new file mode 100644
--- /dev/null
+++ b/mercurial/templates/atom/branchentry.tmpl
@@ -0,0 +1,8 @@
+
+ {branch|escape}
+
+ {urlbase}{url}#branch-{node}
+ {date|rfc3339date}
+ {date|rfc3339date}
+
+
diff --git a/mercurial/templates/atom/branches.tmpl b/mercurial/templates/atom/branches.tmpl
new file mode 100644
--- /dev/null
+++ b/mercurial/templates/atom/branches.tmpl
@@ -0,0 +1,11 @@
+{header}
+ {urlbase}{url}
+
+
+
{repo|escape}: branches
+ {repo|escape} branch history
+ Mercurial SCM
+ {latestentry%feedupdated}
+
+ {entries%branchentry}
+
diff --git a/mercurial/templates/atom/map b/mercurial/templates/atom/map
--- a/mercurial/templates/atom/map
+++ b/mercurial/templates/atom/map
@@ -10,4 +10,6 @@ tags = tags.tmpl
tagentry = tagentry.tmpl
bookmarks = bookmarks.tmpl
bookmarkentry = bookmarkentry.tmpl
+branches = branches.tmpl
+branchentry = branchentry.tmpl
error = error.tmpl
diff --git a/mercurial/templates/gitweb/branches.tmpl b/mercurial/templates/gitweb/branches.tmpl
--- a/mercurial/templates/gitweb/branches.tmpl
+++ b/mercurial/templates/gitweb/branches.tmpl
@@ -1,9 +1,9 @@
{header}
{repo|escape}: Branches
+ href="{url}atom-branches" title="Atom feed for {repo|escape}"/>
+ href="{url}rss-branches" title="RSS feed for {repo|escape}"/>
diff --git a/mercurial/templates/monoblue/branches.tmpl b/mercurial/templates/monoblue/branches.tmpl
--- a/mercurial/templates/monoblue/branches.tmpl
+++ b/mercurial/templates/monoblue/branches.tmpl
@@ -1,7 +1,7 @@
{header}
{repo|escape}: Branches
-
-
+
+
diff --git a/mercurial/templates/paper/branches.tmpl b/mercurial/templates/paper/branches.tmpl
--- a/mercurial/templates/paper/branches.tmpl
+++ b/mercurial/templates/paper/branches.tmpl
@@ -1,9 +1,9 @@
{header}
{repo|escape}: branches
+ href="{url}atom-branches" title="Atom feed for {repo|escape}: branches" />
+ href="{url}rss-branches" title="RSS feed for {repo|escape}: branches" />
diff --git a/mercurial/templates/rss/branchentry.tmpl b/mercurial/templates/rss/branchentry.tmpl
new file mode 100644
--- /dev/null
+++ b/mercurial/templates/rss/branchentry.tmpl
@@ -0,0 +1,6 @@
+-
+ {branch|escape}
+ {urlbase}{url}rev/{node|short}
+
+ {date|rfc822date}
+
diff --git a/mercurial/templates/rss/branches.tmpl b/mercurial/templates/rss/branches.tmpl
new file mode 100644
--- /dev/null
+++ b/mercurial/templates/rss/branches.tmpl
@@ -0,0 +1,6 @@
+{header}
+ {repo|escape}: branches
+ {repo|escape} branch history
+ {entries%branchentry}
+
+
diff --git a/mercurial/templates/rss/map b/mercurial/templates/rss/map
--- a/mercurial/templates/rss/map
+++ b/mercurial/templates/rss/map
@@ -9,4 +9,6 @@ tags = tags.tmpl
tagentry = tagentry.tmpl
bookmarks = bookmarks.tmpl
bookmarkentry = bookmarkentry.tmpl
+branches = branches.tmpl
+branchentry = branchentry.tmpl
error = error.tmpl