| 1 |
{% extends "base.html" %} |
| 2 |
{% block title %}Storage · Administration{% endblock %} |
| 3 |
{% block content %} |
| 4 |
<div class="head"><h1>Storage <small>{{ rows.len() }} repositories · {{ total|bytes }}</small></h1></div> |
| 5 |
<p><a href="/admin">← administration</a></p> |
| 6 |
{% if let Some(n) = notice %}<p class="note">{{ n }}</p>{% endif %} |
| 7 |
{% if let Some(e) = error %}<p class="error">{{ e }}</p>{% endif %} |
| 8 |
<p class="small mute">Maintenance runs <code>oxy gc</code> on the hub's copy: loose objects go into a pack, and unreachable objects older than the grace period are pruned. Each repository is locked for writing while it runs.</p> |
| 9 |
<form class="tiny" method="post" action="/admin/storage"><input type="hidden" name="_csrf" value="{{ shell.csrf }}"><input type="hidden" name="repo" value="*"><button type="submit">MAINTAIN EVERY REPOSITORY</button></form> |
| 10 |
<table class="list"> |
| 11 |
<thead><tr><th>Repository</th><th>On disk</th><th>Loose objects</th><th>Packs</th><th></th></tr></thead> |
| 12 |
<tbody> |
| 13 |
{% for r in rows %} |
| 14 |
<tr><td><a href="/{{ r.slug }}">{{ r.slug }}</a>{% if r.drop %} <span class="tag">drop</span>{% endif %}</td><td>{{ r.bytes|bytes }}</td><td>{{ r.loose }}{% if r.loose > 1000 %} <span class="tag warn">pack me</span>{% endif %}</td><td>{{ r.packs }}</td> |
| 15 |
<td><form class="tiny" method="post" action="/admin/storage"><input type="hidden" name="_csrf" value="{{ shell.csrf }}"><input type="hidden" name="repo" value="{{ r.slug }}"><button type="submit">maintain</button></form></td></tr> |
| 16 |
{% endfor %} |
| 17 |
</tbody> |
| 18 |
</table> |
| 19 |
{% endblock %} |