| 1 |
{% extends "base.html" %} |
| 2 |
{% import "repo_tabs.html" as m %} |
| 3 |
{% block title %}Resolve {{ path }} · {{ repo.owner }}/{{ repo.name }}{% endblock %} |
| 4 |
{% block bodyattrs %} data-repo="{{ repo.url }}"{% endblock %} |
| 5 |
{% block tabs %}{% call m::tabs(repo, "conflicts") %}{% endblock %} |
| 6 |
{% block mainclass %} class="wide"{% endblock %} |
| 7 |
{% block content %} |
| 8 |
<div class="head"><h1>Resolve <code>{{ path }}</code> <small>on <span class="lbl lbl-bm">{{ bookmark }}</span></small></h1> |
| 9 |
<p class="small mute">{{ candidates.len() }} files want this name, so the tree shows them as <code>{{ path }}.oxy-conflict-N</code>. Keep one: it takes the name, keeping its history, and the others are removed. The commit is a resolution change on {{ bookmark }}.</p></div> |
| 10 |
{% if let Some(e) = error %}<p class="error">{{ e }}</p>{% endif %} |
| 11 |
{% if let Some(d) = delegation %}<p class="error">{{ d }}</p>{% endif %} |
| 12 |
<form method="post" action="{{ repo.url }}/resolve/{{ bookmark }}/{{ path }}"> |
| 13 |
<input type="hidden" name="_csrf" value="{{ shell.csrf }}"> |
| 14 |
<input type="hidden" name="state" value="{{ state }}"> |
| 15 |
{% for c in candidates %} |
| 16 |
<section class="file-diff" id="candidate-{{ loop.index }}"> |
| 17 |
<header><label><input type="radio" name="keep" value="{{ loop.index0 }}"{% if loop.first %} checked{% endif %}> keep <strong>{{ c.path }}</strong></label> <a class="small" href="{{ repo.url }}/file/{{ bookmark }}/{{ c.path }}">view</a></header> |
| 18 |
{% if let Some(p) = c.preview %}<pre class="marked">{{ p }}</pre>{% else %}<p class="small mute">binary, {{ c.content.len() }} bytes</p>{% endif %} |
| 19 |
</section> |
| 20 |
{% endfor %} |
| 21 |
<label for="message">Message</label><input type="text" id="message" name="message" value="{{ message }}"> |
| 22 |
<button type="submit">COMMIT RESOLUTION</button> |
| 23 |
</form> |
| 24 |
{% endblock %} |