# # # add_file "templates/branchchangesrss.html" # content [80c9962a3f4d25f2c87e36ccfd2fb53904bcfa9b] # # patch "templates/base.html" # from [6fb498c7263b78aa7fd8a3718da9da5b3570fe91] # to [690e3c561fca7bc2790a5f231ce4fdc99004765e] # # patch "templates/branch.html" # from [5a004d85304a8fd67730ad84d9e7bdea0e5bfb38] # to [3ef8e4e485dc9a825c4170667b11a7aa8e7c0927] # # patch "viewmtn.py" # from [47b7bac2a8b6aad8e1c9f6c279c97f3fa6254c99] # to [f9cb4c0fbb900d3c767874318a9cc0028ab2d031] # ============================================================ --- templates/branchchangesrss.html 80c9962a3f4d25f2c87e36ccfd2fb53904bcfa9b +++ templates/branchchangesrss.html 80c9962a3f4d25f2c87e36ccfd2fb53904bcfa9b @@ -0,0 +1,23 @@ + + + en-us + + Changes to branch $branch.name + $dynamic_join('/') + Changes to branch $branch.name + + +#for $revision, $diffs, $ago, $author, $changelog, $shortlog, $when in $display_revs + +#filter Filter + $link($branch).uri() +#filter WebSafe + $author + $shortlog + $changelog + $when + +#end for + + + ============================================================ --- templates/base.html 6fb498c7263b78aa7fd8a3718da9da5b3570fe91 +++ templates/base.html 690e3c561fca7bc2790a5f231ce4fdc99004765e @@ -9,6 +9,8 @@ #block extraheaders #end block +#block rssheaders +#end block ============================================================ --- templates/branch.html 5a004d85304a8fd67730ad84d9e7bdea0e5bfb38 +++ templates/branch.html 3ef8e4e485dc9a825c4170667b11a7aa8e7c0927 @@ -5,3 +5,7 @@ Changes | Head revision #end def + +#def rssheaders + +#end def ============================================================ --- viewmtn.py 47b7bac2a8b6aad8e1c9f6c279c97f3fa6254c99 +++ viewmtn.py f9cb4c0fbb900d3c767874318a9cc0028ab2d031 @@ -43,6 +43,8 @@ class Link: def __init__(self, description=None, link_type=None, **kwargs): self.relative_uri = None self.description = description + def uri(self): + return dynamic_join(self.relative_uri) def html(self, override_description=None): if override_description: d = hq(override_description) @@ -153,7 +155,7 @@ def revisions_for_template(revision, rev elif stanza_type == "old_revision": old_revision = mtn.Revision(stanza[1]) old_revisions.append(old_revision) - value = "Old revision is: %s (%s)" % (old_revision.abbrev(), link(Diff(old_revision, revision)).html()) + value = "Old revision is: %s (%s)" % (link(old_revision).html(), link(Diff(old_revision, revision)).html()) elif stanza_type == "add_file": fname = stanza[1] value = "Add file: %s" % (link(mtn.File(fname, revision)).html()) @@ -287,7 +289,7 @@ class BranchChanges: certs_for_revs.sort(lambda b, a: cmp(cd(a[1]), cd(b[1]))) return certs_for_revs[from_change:to_change], new_to_parent - def GET(self, branch, from_change, to_change): + def GET(self, branch, from_change, to_change, template_name): def quicklog(changelog): rv = changelog[0].strip() if rv.startswith('*'): @@ -351,7 +353,7 @@ class BranchChanges: else: previous_from, previous_to = None, None - renderer.render('branchchanges.html', + renderer.render(template_name, page_title="Branch %s" % branch.name, branch=branch, from_change=from_change, @@ -362,6 +364,14 @@ class BranchChanges: next_to=next_to, display_revs=for_template(changed)) +class HTMLBranchChanges(BranchChanges): + def GET(self, branch, from_change, to_change): + BranchChanges.GET(self, branch, from_change, to_change, "branchchanges.html") + +class RSSBranchChanges(BranchChanges): + def GET(self, branch, from_change, to_change): + BranchChanges.GET(self, branch, from_change, to_change, "branchchangesrss.html") + class RevisionInfo: def GET(self, revision): revision = mtn.Revision(revision) @@ -444,8 +454,10 @@ urls = ( r'/revision/info/('+mtn.revision_re+')', 'RevisionInfo', r'/revision/tar/('+mtn.revision_re+')', 'RevisionTar', - r'/branch/changes/(.*)/from/(\d+)/to/(\d+)', 'BranchChanges', - r'/branch/changes/([^/]+)()()', 'BranchChanges', + r'/branch/changes/(.*)/from/(\d+)/to/(\d+)', 'HTMLBranchChanges', + r'/branch/changes/([^/]+)()()', 'HTMLBranchChanges', + r'/branch/changes/(.*)/from/(\d+)/to/(\d+)/rss', 'RSSBranchChanges', + r'/branch/changes/([^/]+)()()/rss', 'RSSBranchChanges', r'/branch/head/([^/]+)', 'BranchHead', r'/branch/tar/([^/]+)', 'BranchTar',