RSS Git Download  Clone
Raw Blame History
{% extends 'layout-page.twig' %}

{% set page = 'commits' %}

{% block title %}P3X GitList{% endblock %}

{% block content %}

    <script type="text/javascript">
        window.gitlist.lastload = Date.now();
    </script>
    <div class="p3x-gitlist-overlay">
        <div>
            <i class="fas fa-cog fa-spin fa-3x"></i>
        </div>
        <br/>
        <div>
            Loading a big commit ...
        </div>
    </div>


    {% embed 'breadcrumb.twig' with {breadcrumbs: [{dir: "Commit #{commit.hash}", path:''}]} %}
        {% block right %}
            <a class="btn btn-info btn-sm" href="{{ path('branch', {repo: repo, branch: commit.hash}) }}"
               title="Browse code at this point in history"><span class="fa fa-list-alt"></span> Browse code</a>
        {% endblock %}
    {% endembed %}



    <!--
    <div role="alert" class="alert-dismissable alert alert-warning">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span
                    aria-hidden="true">&times;</span></button>
        The diffs are not showing by default, because it costs a lot of computing.
    </div>
    -->

    <div class="panel panel-default">
        <div class="panel-heading">
            <div class="media">
                <div class="media-left">
                    <a>
                        <img class="media-object" src="{{ avatar(commit.author.email, 32) }}"/>
                    </a>
                </div>
                <div class="media-body">
                    <h4 class="media-heading" id="p3x-git-commit-heading">
                        {{ commit.message }}
                        {% if commit.body is not empty %}
                            {{ commit.body }}
                        {% endif %}
                    </h4>
                    <a href="mailto:{{ commit.author.email }}">{{ commit.author.name }}</a> authored
                    on {{ commit.date | format_date }}
                    {% if commit.author.email != commit.commiter.email %}
                        &bull; <a
                            href="mailto:{{ commit.commiter.email }}">{{ commit.commiter.name }}</a> committed on {{ commit.commiterDate | format_date }}
                    {% endif %}
                </div>
            </div>
        </div>
        <div class="panel-body">
            Showing {{ commit.changedFiles }} changed files
        </div>
        <ul class="list-group">
            {% for diff in commit.diffs %}
                <li class="list-group-item" id="p3x-gitlist-diff-{{ loop.index }}">
                    <div class="pull-left">
                        <i class="fas fa-file-alt"></i>&nbsp;&nbsp;
                        <span id="{{ diff.file | to_id }}" href="#p3x-gitlist-diff-{{ loop.index }}">{{ diff.file }}</span>
                    </div>
                    <div class="pull-right p3x-gitlist-button">
                        <a id="p3x-gitlist-diff-data-{{ loop.index }}"
                           class="btn btn-primary btn-sm p3x-gitlist-diff-button"><i class="fas fa-dumbbell"></i>&nbsp;&nbsp;Diff</a>
                        &nbsp;
                        <a href="{{ path('commits', {repo: repo, commitishPath: commit.hash ~ '/' ~ diff.file}) }}"
                           class="btn btn-primary btn-sm"><i class="fas fa-history"></i>&nbsp;&nbsp;History</a>
                        &nbsp;
                        <a href="{{ path('blob', {repo: repo, commitishPath: commit.hash ~'/' ~ diff.file}) }}"
                           class="btn btn-primary btn-sm"><i class="far fa-eye"></i>&nbsp;&nbsp;View
                        </a>
                    </div>
                    <div style="clear: both;"></div>
                </li>
                <li class="list-group-item p3x-gitlist-diff-container" data-diff-ref="p3x-gitlist-diff-{{ loop.index }}"
                    data-diff-id="p3x-gitlist-diff-data-{{ loop.index }}" style="display: none;">
                        <div class="p3x-gitlist-diff">
                            <table>
                                {% for line in diff.getLines %}
                                    <tr>
                                        <td class="lineNo">
                                            {% if line.getType != 'chunk' %}
                                                <!--                                <a id="{{ diff.index  | to_id }}L{{ loop.index }}R{{ line.getNumOld }}"></a> -->
                                                <!--                                <a href="#{{ diff.index  | to_id }}L{{ loop.index }}R{{ line.getNumOld }}"> -->
                                            {% endif %}
                                            {{ line.getNumOld }}
                                            {% if line.getType != 'chunk' %}
                                                <!--                                </a> -->
                                            {% endif %}
                                        </td>
                                        <td class="lineNo">
                                            {% if line.getType != 'chunk' %}
                                                <!--                                <a id="{{ diff.index  | to_id }}L{{ loop.index }}L{{ line.getNumNew }}"></a> -->
                                                <!--                                <a href="#{{ diff.index | to_id }}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>
                </li>
            {% endfor %}
        </ul>
    </div>

{% endblock %}