changeset 8002:42d1f33f2b87

changeset: store hexified source hash in context so it is readily available in template Avoid hex as "encoding" - it is not supported in py3. Mercurial store source and transplant_source differently ... but that will now be handled in the controller instead of in the template.
author Mads Kiilerich <mads@kiilerich.com>
date Tue, 10 Dec 2019 12:57:02 +0100
parents a7427a53cccc
children 529917d31320
files kallithea/controllers/changeset.py kallithea/templates/changeset/changeset.html
diffstat 2 files changed, 7 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/controllers/changeset.py	Sat Nov 23 23:16:20 2019 +0100
+++ b/kallithea/controllers/changeset.py	Tue Dec 10 12:57:02 2019 +0100
@@ -25,6 +25,7 @@
 :license: GPLv3, see LICENSE.md for more details.
 """
 
+import binascii
 import logging
 import traceback
 from collections import OrderedDict, defaultdict
@@ -395,6 +396,8 @@
             c.changeset = c.cs_ranges[0]
             c.parent_tmpl = ''.join(['# Parent  %s\n' % x.raw_id
                                      for x in c.changeset.parents])
+            c.changeset_graft_source_hash = c.changeset.extra.get(b'source', b'')
+            c.changeset_transplant_source_hash = binascii.hexlify(c.changeset.extra.get(b'transplant_source', b''))
         if method == 'download':
             response.content_type = 'text/plain'
             response.content_disposition = 'attachment; filename=%s.diff' \
--- a/kallithea/templates/changeset/changeset.html	Sat Nov 23 23:16:20 2019 +0100
+++ b/kallithea/templates/changeset/changeset.html	Tue Dec 10 12:57:02 2019 +0100
@@ -90,16 +90,14 @@
                          <span><b>${h.person(c.changeset.author,'full_name_and_username')}</b> - ${h.age(c.changeset.date,True)} ${h.fmt_date(c.changeset.date)}</span><br/>
                          <span>${h.email_or_none(c.changeset.author)}</span><br/>
                      </div>
-                     <% rev = c.changeset.extra.get('source') %>
-                     %if rev:
+                     %if c.changeset_graft_source_hash:
                      <div>
-                       ${_('Grafted from:')} ${h.link_to(h.short_id(rev),h.url('changeset_home',repo_name=c.repo_name,revision=rev), class_="changeset_hash")}
+                       ${_('Grafted from:')} ${h.link_to(h.short_id(c.changeset_graft_source_hash),h.url('changeset_home',repo_name=c.repo_name,revision=c.changeset_graft_source_hash), class_="changeset_hash")}
                      </div>
                      %endif
-                     <% rev = c.changeset.extra.get('transplant_source', '').encode('hex') %>
-                     %if rev:
+                     %if c.changeset_transplant_source_hash:
                      <div>
-                       ${_('Transplanted from:')} ${h.link_to(h.short_id(rev),h.url('changeset_home',repo_name=c.repo_name,revision=rev), class_="changeset_hash")}
+                       ${_('Transplanted from:')} ${h.link_to(h.short_id(c.changeset_transplant_source_hash),h.url('changeset_home',repo_name=c.repo_name,revision=c.changeset_transplant_source_hash), class_="changeset_hash")}
                      </div>
                      %endif