# # # patch "ChangeLog" # from [a067837a43a2a4a042783934b4928bdbb38242f9] # to [cbd1cfd71cca451ae75ac83a6315f783f1422de6] # # patch "templates/branch.html" # from [6df3371a0bff5d5135c6e18c04666af87aa9c4db] # to [b06c53458ef16e6810e5307bae103cf02cc4ccb7] # # patch "viewmtn.py" # from [1c990a168bc78325e5ea91dc61fe90bc6d0dc42a] # to [da104e5b02b48460051a6371cc78a0b71dcc9083] # ============================================================ --- ChangeLog a067837a43a2a4a042783934b4928bdbb38242f9 +++ ChangeLog cbd1cfd71cca451ae75ac83a6315f783f1422de6 @@ -48,6 +48,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 1c990a168bc78325e5ea91dc61fe90bc6d0dc42a +++ viewmtn.py da104e5b02b48460051a6371cc78a0b71dcc9083 @@ -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, @@ -1033,7 +1034,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 = '', ''