{{ c.view.title }} {{ c.view.short }} {% if c.view.resolution %} resolution {% endif %}
{{ body_html|safe }}
Author {% if let Some(a) = c.view.author.account %}{{ c.view.author.name }} @{{ a }} {% else %}{{ c.view.author.name }}{% endif %}{% if !c.view.author.email.is_empty() %} <{{ c.view.author.email }}> {% endif %}{% if !c.view.author.key.is_empty() && c.view.author.account.is_none() %} key not linked {% if shell.user.is_some() %} link your key {% endif %}{% endif %}
When {{ c.view.when_ms|ago }} · {{ c.view.when_ms|when }}
Signature {% call m::sig(c.view.signature) %} {{ c.view.signature.title() }}
Hash {{ c.view.hash }} copy
Depends on {% if c.deps.is_empty() %}nothing: a root change {% else %}{% for d in c.deps %}{{ d.short }} {% endfor %}{% endif %}
Depended on by {% if c.dependents.is_empty() %}nothing yet {% else %}{% for d in c.dependents %}{{ d.short }} {% endfor %}{% endif %}
In bookmarks {% for b in c.in_bookmarks %}{{ b }} {% endfor %}{% if c.in_bookmarks.is_empty() %}none {% endif %}
{% if !c.in_tags.is_empty() %}In tags {% for t in c.in_tags %}{{ t }} {% endfor %} {% endif %}
{% if !receipts.is_empty() %}Receipts {% for r in receipts %}{% if r.passed() %}✔{% else %}✘{% endif %} {% if r.run.is_empty() %}
{{ r.job }} {% else %}
{{ r.job }} {% endif %}
{% if r.passed() %}passed{% else %}exit {{ r.exit_code }}{% endif %} in {{ r.duration }} · signed by {{ r.runner }} · {{ r.made_ms|ago }} {% if !r.problem.is_empty() %}
{{ r.problem }} {% endif %}
download {% endfor %} {% endif %}
Edits {{ c.atoms|plural("atom", "atoms") }}, {{ c.tree_ops|plural("tree operation", "tree operations") }}, {{ files.len()|plural("file", "files") }}
Browse the tree at this change
{% for f in files %}{{ f.path }} {% endfor %}
{% call m::diff(files, ignore_ws, "") %}
{% endblock %}