OXYGENHUB
# 7b17d570d7ee oxygenhub / templates / conflicts.html
1.5 KiB · HTML · last changed Web edits and browser conflict resolution; landing under a policy 1 month ago source blame history raw
d23464c0 Andy McCall ↶ 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 %}
14530604 Andy McCall ↶ 15
  {% if c.marked.is_some() && repo.can(crate::auth::Access::Write) %}<p><a class="go small" href="{{ repo.url }}/edit/{{ c.bookmark }}/{{ c.path }}">resolve in the browser</a></p>{% endif %}
16
  <p class="small mute">Or 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>
d23464c0 Andy McCall ↶ 17
</section>
18
{% endfor %}
19
{% endif %}
20
{% endblock %}