mercurial/templates/paper/diffstat.tmpl
author Matt Harbison <matt_harbison@yahoo.com>
Sat, 01 Apr 2017 00:21:17 -0400
changeset 31733 35eb8f112c88
parent 19455 c229a5e7511e
permissions -rw-r--r--
templatefilter: add support for 'long' to json() When disabling the '#requires serve' check in test-hgwebdir.t and running it on Windows, several 500 errors popped up when querying '?style=json', with the following in the error log: File "...\\mercurial\\templater.py", line 393, in runfilter "keyword '%s'") % (filt.func_name, dt)) Abort: template filter 'json' is not compatible with keyword 'lastchange' The swallowed exception at that point was: File "...\\mercurial\\templatefilters.py", line 242, in json raise TypeError('cannot encode type %s' % obj.__class__.__name__) TypeError: cannot encode type long This corresponds to 'lastchange' being populated by hgweb.common.get_stat(), which uses os.stat().st_mtime. os.stat_float_times() is being disabled in util, so the type for the times is 'long' on Windows, and 'int' on Linux.

  <tr>
    <td class="diffstat-file"><a href="#l{fileno}.1">{file|escape}</a></td>
    <td class="diffstat-total" align="right">{total}</td>
    <td class="diffstat-graph">
      <span class="diffstat-add" style="width:{addpct}%;">&nbsp;</span>
      <span class="diffstat-remove" style="width:{removepct}%;">&nbsp;</span>
    </td>
  </tr>