{% for r in p.rules %}<tr><tdclass="px">{{ r.pattern }}</td><td>{% for k in r.keys %}{% if k.name.is_empty() %}<code>{{ k.short }}</code>{% else %}{{ k.name }}{% endif %}{% if !loop.last %}, {% endif %}{% endfor %}</td><td>{{ r.threshold }}</td><td>{{ r.require }}</td><td>{% if r.allow_conflicts %}allowed{% else %}refused{% endif %}</td></tr>{% endfor %}
17
</table></div>
18
{% if !p.revoked.is_empty() %}<h3>Revoked</h3><ulclass="plain">{% for k in p.revoked %}<li><spanclass="sig sig-revoked">⊘</span> {% if k.name.is_empty() %}<code>{{ k.short }}</code>{% else %}{{ k.name }} <codeclass="mute">{{ k.short }}</code>{% endif %}</li>{% endfor %}</ul>{% endif %}
19
</section>
20
{% else %}
21
<divclass="strip warn">No trust policy: every reference update from anyone who may push is accepted. Create one from a client with <code>oxy policy init</code> and push.</div>
{% if !t.verification.invalid.is_empty() %}<ulclass="plain">{% for (h, why) in t.verification.invalid %}<li><aclass="chip"href="{{ repo.url }}/change/{{ h }}">{{ h|short }}</a> {{ why }}</li>{% endfor %}</ul>{% endif %}
33
</section>
34
<sectionclass="panel">
35
<h2>Hub delegate key</h2>
36
<pclass="small">Changes the hub makes for you in the browser (later milestones) are signed with this key on your behalf, once you have run <code>oxy identity delegate add hub.identity</code> with the file from <ahref="/.well-known/oxyhub-key">/.well-known/oxyhub-key</a>.</p>
37
<p><codeclass="full">{{ t.hub_key }}</code></p>
38
{% if t.hub_delegated_by.is_empty() %}<pclass="mute small">Nobody in this repository's policy has delegated to it.</p>{% else %}<pclass="small">Delegated by: {% for k in t.hub_delegated_by %}{{ k.name }}{% if !loop.last %}, {% endif %}{% endfor %}</p>{% endif %}