# # # patch "ChangeLog" # from [c29ea73172e7703af9645d9828c239dbaa215895] # to [015d7db885438b0af94e61594203f362e26735f6] # # patch "templates/branch.html" # from [6df3371a0bff5d5135c6e18c04666af87aa9c4db] # to [b06c53458ef16e6810e5307bae103cf02cc4ccb7] # # patch "viewmtn.py" # from [c38b232b6c6ae6dd6cac8ea5b57935c18bdccaef] # to [a9a27961ccedb3d13dfd697b4c355d3c1ebba32d] # ============================================================ --- ChangeLog c29ea73172e7703af9645d9828c239dbaa215895 +++ ChangeLog 015d7db885438b0af94e61594203f362e26735f6 @@ -33,6 +33,11 @@ 2007-03-29 Grahame Bowland + + * templates/branch.html: Support branch names with '/' in them. + * viewmtn.py: Support branch names with '/' in them. + 2006-10-26 Grahame Bowland * release 0.06 ============================================================ --- templates/branch.html 6df3371a0bff5d5135c6e18c04666af87aa9c4db +++ templates/branch.html b06c53458ef16e6810e5307bae103cf02cc4ccb7 @@ -1,10 +1,10 @@ #extends base #def extramenu Branch $branch.name: -Changes | -Head revision | -Tags +Changes | +Head revision +Tags #end def #def rssheaders ============================================================ --- viewmtn.py c38b232b6c6ae6dd6cac8ea5b57935c18bdccaef +++ viewmtn.py a9a27961ccedb3d13dfd697b4c355d3c1ebba32d @@ -150,9 +150,9 @@ class BranchLink(Link): self.json_args = [branch.name] from_change, to_change = kwargs.get('from_change'), kwargs.get('to_change') if from_change and to_change: - self.relative_uri = 'branch/changes/%s/from/%d/to/%d' % (urllib.quote(branch.name), from_change, to_change) + self.relative_uri = 'branch/changes/%s/from/%d/to/%d' % (urllib.quote(branch.name, safe = ''), from_change, to_change) else: - self.relative_uri = 'branch/changes/' + urllib.quote(branch.name) + self.relative_uri = 'branch/changes/' + urllib.quote(branch.name, safe = '') self.description = hq(branch.name) class DiffLink(Link): @@ -300,6 +300,7 @@ class Renderer: self.terms = { 'dynamic_uri_path' : config.dynamic_uri_path, 'dynamic_join' : dynamic_join, + 'urllib_quote' : urllib.quote, 'static_uri_path' : config.static_uri_path, 'static_join' : static_join, 'link' : link, @@ -1030,7 +1031,7 @@ class BranchHead: web.redirect(proxyurl(heads[0])) else: # present an option to the user to choose the head - anyhead = 'link' % (dynamic_join('/branch/anyhead/' + proxy_to + '/' + branch.name)) + anyhead = 'link' % (dynamic_join('/branch/anyhead/' + proxy_to + '/' + urllib.quote(branch.name, safe = ''))) head_links = [] for revision in heads: author, date = '', ''