{% extends "base.html" %} {% import "repo_tabs.html" as m %} {% block title %}Resolve {{ path }} ยท {{ repo.owner }}/{{ repo.name }}{% endblock %} {% block bodyattrs %} data-repo="{{ repo.url }}"{% endblock %} {% block tabs %}{% call m::tabs(repo, "conflicts") %}{% endblock %} {% block mainclass %} class="wide"{% endblock %} {% block content %}

Resolve {{ path }} on {{ bookmark }}

Choose what each conflict keeps. The file is put back together around the lines no one disagrees on and committed to {{ bookmark }} as a resolution: it depends on every change that wrote a side, so no side is lost from history. Link to a conflict with its #region-N.

Resolve in VS Code (with the Oxygen extension: it opens your checkout on {{ bookmark }}, or offers to clone it)

{% if let Some(e) = error %}

{{ e }}

{% endif %} {% if let Some(d) = delegation %}

{{ d }}

{% endif %}
{% for p in pieces %} {% match p %} {% when crate::web::resolve::Piece::Plain with (text) %}
{{ text }}
{% when crate::web::resolve::Piece::Region with (r) %}
Conflict {{ r.n }} {{ r.sides.len() }} sides
{% for s in r.sides %}
{% if s.deletion %}

Keeping this side keeps the deletion of these lines:

{% endif %}
{{ s.text }}
{% endfor %}
{% endmatch %} {% endfor %}
{% endblock %}