| 1 |
{% extends "base.html" %} |
| 2 |
{% import "repo_tabs.html" as m %} |
| 3 |
{% block title %}Conflicts · {{ 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>Conflicts <small>{{ conflicts.len() }}</small></h1></div> |
| 9 |
{% if conflicts.is_empty() %}<p class="empty">No bookmark carries a conflict. Conflicts are values in Oxygen: when two changes disagree, the state records both sides and any collaborator can push a resolution.</p>{% else %} |
| 10 |
{% for c in conflicts %} |
| 11 |
<section class="file-diff"> |
| 12 |
<header><span class="lbl lbl-bm">{{ c.bookmark }}</span> <strong>{{ c.path }}</strong> <span class="tag bad">{{ c.kind }}</span></header> |
| 13 |
{% if !c.contributors.is_empty() %}<p class="small">Sides from: {% for x in c.contributors %}<a class="chip" href="{{ repo.url }}/change/{{ x.hash }}" title="{{ x.title }}">{{ x.short }}</a> {% endfor %}</p>{% endif %} |
| 14 |
{% if let Some(text) = c.marked %}<pre class="marked">{{ text }}</pre>{% endif %} |
| 15 |
<p class="small mute">Resolve from a client: <code>oxy bookmark switch {{ c.bookmark }}</code>, edit the file, <code>oxy resolve</code>, <code>oxy commit</code>, <code>oxy push</code>.</p> |
| 16 |
</section> |
| 17 |
{% endfor %} |
| 18 |
{% endif %} |
| 19 |
{% endblock %} |