mirror of
https://github.com/klaussilveira/gitlist.git
synced 2025-11-18 11:40:57 +01:00
Previously, branches with slashes in the name would consume all slashed segments in a URL, causing the routes to capture incorrect file paths. This solution is not particularly elegant - anywhere a route used both a commit-ish identifier and a path, we collapse those two params into a single param, and parse that param inside the route. It seems to be working reasonably reliably, but has not seen extensive testing. It is also not particularly pretty. If anyone sees ways to improve it, please, have at it.
74 lines
3.1 KiB
Twig
74 lines
3.1 KiB
Twig
{% extends 'layout_page.twig' %}
|
|
|
|
{% set page = 'commits' %}
|
|
|
|
{% block title %}GitList{% endblock %}
|
|
|
|
{% block content %}
|
|
{% include 'breadcrumb.twig' with {breadcrumbs: [{dir: "Commit #{commit.hash}", path:''}]} %}
|
|
|
|
<div class="commit-view">
|
|
<div class="commit-header">
|
|
<span class="pull-right"><a class="btn btn-small" href="{{ path('branch', {repo: repo, branch: commit.hash}) }}" title="Browse code at this point in history"><i class="icon-list-alt"></i> Browse code</a></span>
|
|
<h4>{{ commit.message }}</h4>
|
|
</div>
|
|
<div class="commit-body">
|
|
<img src="https://gravatar.com/avatar/{{ commit.author.email | md5 }}?s=32" class="pull-left space-right" />
|
|
<span><a href="mailto:{{ commit.author.email }}">{{ commit.author.name }}</a> authored in {{ commit.date | date('d/m/Y \\a\\t H:i:s') }}<br />Showing {{ commit.changedFiles }} changed files</span>
|
|
</div>
|
|
</div>
|
|
|
|
<ul class="commit-list">
|
|
{% for diff in commit.diffs %}
|
|
<li><i class="icon-file"></i> <a href="#{{ loop.index }}">{{ diff.file }}</a> <span class="meta pull-right">{{ diff.index }}</span></li>
|
|
{% endfor %}
|
|
</ul>
|
|
|
|
{% for diff in commit.diffs %}
|
|
<div class="source-view">
|
|
<div class="source-header">
|
|
<div class="meta"><a name="{{ loop.index }}">{{ diff.file }}</div>
|
|
|
|
<div class="btn-group pull-right">
|
|
<a href="{{ path('commits', {repo: repo, commitish_path: commit.hash ~ '/' ~ diff.file}) }}" class="btn btn-small"><i class="icon-list-alt"></i> History</a>
|
|
<a href="{{ path('blob', {repo: repo, commitish_path: commit.hash ~'/' ~ diff.file}) }}" class="btn btn-small"><i class="icon-file"></i> View file @ {{ commit.shortHash }}</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="source-diff">
|
|
<table>
|
|
{% for line in diff.getLines %}
|
|
<tr>
|
|
<td class="lineNo">
|
|
{% if line.getType != 'chunk' %}
|
|
<a name="L{{ loop.index }}R{{ line.getNumOld }}"></a>
|
|
<a href="#L{{ loop.index }}L{{ line.getNumOld }}">
|
|
{% endif %}
|
|
{{ line.getNumOld }}
|
|
{% if line.getType != 'chunk' %}
|
|
</a>
|
|
{% endif %}
|
|
</td>
|
|
<td class="lineNo">
|
|
{% if line.getType != 'chunk' %}
|
|
<a name="L{{ loop.index }}L{{ line.getNumNew }}"></a>
|
|
<a href="#L{{ loop.index }}L{{ line.getNumNew }}">
|
|
{% endif %}
|
|
{{ line.getNumNew }}
|
|
{% if line.getType != 'chunk' %}
|
|
</a>
|
|
{% endif %}
|
|
</td>
|
|
<td style="width: 100%">
|
|
<pre{% if line.getType %} class="{{ line.getType }}"{% endif %}>{{ line.getLine }}</pre>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
|
|
<hr />
|
|
{% endblock %}
|