Blame pagure/templates/commit.html

Pierre-Yves Chibon b0efd3
{% extends "repo_master.html" %}
Pierre-Yves Chibon 2088eb
Pierre-Yves Chibon ff8880
{% block title %}Commit - {{
Pierre-Yves Chibon ff8880
    repo.namespace + '/' if repo.namespace }}{{ repo.name }} - {{ commitid }}{% endblock %}
Ryan Lerch f4adb4
{% set tag = "commit"%}
Ryan Lerch e2f045
{% block header %}
Pierre-Yves Chibon 3ff704
Pierre-Yves Chibon 3ff704
  url_for('static', filename='vendor/highlight.js/styles/github.css') }}?version={{ g.version}}"/>
Pierre-Yves Chibon 3ff704
Pierre-Yves Chibon 3ff704
  url_for('static', filename='vendor/diff2html/diff2html.css') }}?version={{ g.version}}"/>
Pierre-Yves Chibon 3ff704
Pierre-Yves Chibon 3ff704
{% if splitview %}
Pierre-Yves Chibon 3ff704
<style nonce="{{ g.nonce }}"></style>
Pierre-Yves Chibon 3ff704
  .repo-body-container{max-width:100%!important}
Pierre-Yves Chibon 3ff704
Pierre-Yves Chibon 3ff704
{% endif %}
Ryan Lerch e2f045
{% endblock %}
Pierre-Yves Chibon b0efd3
{% block repo %}
Johan Cwiklinski 002118
{% set splitted_message = commit.message.split('\n') %}
Slavek Kabrda dade63
{# we recognize non-executable file, executable file and symlink #}
Slavek Kabrda dade63
{% set expected_modes = [33188, 33261, 40960] %}
Ryan Lerch 6d2e06
Ryan Lerch 6d2e06
  
Ryan Lerch 6d2e06
      {% block overviewtabs %}{{ super() }}{% endblock %}
Ryan Lerch 6d2e06
  
Ryan Lerch 6d2e06
  
Ryan Lerch e2f045
    
Ryan Lerch e2f045
      
Ryan Lerch e2f045
        

Ryan Lerch e2f045
        {{ commitid|short }}
Ryan Lerch 6d2e06
        {{ splitted_message[0] }}
Ryan Lerch e2f045
        
Ryan Lerch e2f045
        
Ryan Lerch e2f045
            {% if commit.author| author2user == commit.committer| author2user %}
Ryan Lerch e2f045
              {% if commit.parents | length == 1 %}
Ryan Lerch e2f045
                Authored and Committed by {{ commit.author | author2user |safe }}
Ryan Lerch e2f045
              {% else %}
Ryan Lerch e2f045
                Merged and Committed by {{ commit.author | author2user |safe }}
Ryan Lerch e2f045
              {% endif %}
Ryan Lerch e2f045
              
Ryan Lerch e2f045
                {{ commit.commit_time | humanize }}
Ryan Lerch e2f045
              
Ryan Lerch e2f045
            {% else %}
Ryan Lerch e2f045
              {{ diff|count}} file{{'s' if diff|count > 1 }}
Ryan Lerch e2f045
              {% if commit.parents | length == 1 %}
Ryan Lerch e2f045
                Authored by {{ commit.author | author2user |safe }}
Ryan Lerch e2f045
              {% else %}
Ryan Lerch e2f045
                Merged by {{ commit.author | author2user |safe }}
Ryan Lerch e2f045
              {% endif %}
Ryan Lerch e2f045
              
Ryan Lerch e2f045
                {{ commit.commit_time | humanize }}
Ryan Lerch e2f045
              ,
Ryan Lerch e2f045
              Committed by {{ commit.committer | author2user |safe }}
Ryan Lerch e2f045
              
Ryan Lerch e2f045
                {{ commit.commit_time | humanize }}
Ryan Lerch e2f045
              ,
Ryan Lerch e2f045
            {% endif%}
Ryan Lerch e2f045
          
Ryan Lerch e2f045
      
Ryan Lerch e2f045
      
Ryan Lerch e2f045
          
Ryan Lerch e2f045
              
Ryan Lerch e2f045
                'ui_ns.view_raw_file',
Ryan Lerch e2f045
                repo=repo.name,
Ryan Lerch e2f045
                username=username,
Ryan Lerch e2f045
                namespace=repo.namespace,
Ryan Lerch e2f045
                identifier=commitid) }}" title="View as raw">raw
Ryan Lerch e2f045
              
Ryan Lerch e2f045
                'ui_ns.view_commit_patch',
Ryan Lerch e2f045
                repo=repo.name,
Ryan Lerch e2f045
                username=username,
Ryan Lerch e2f045
                namespace=repo.namespace,
Ryan Lerch e2f045
                commitid=commitid) }}">patch
Ryan Lerch e2f045
              
Ryan Lerch e2f045
                'ui_ns.view_tree', username=username, namespace=repo.namespace,
Ryan Lerch e2f045
                repo=repo.name, identifier=commitid) }}">tree
Ryan Lerch e2f045
              {% if commit.parents|length == 1 %}
Ryan Lerch e2f045
              
Ryan Lerch e2f045
                'ui_ns.view_commit',
Ryan Lerch e2f045
                repo=repo.name,
Ryan Lerch e2f045
                username=username,
Ryan Lerch e2f045
                namespace=repo.namespace,
Ryan Lerch e2f045
                commitid=commit.parents[0].oid.hex) }}">parent
Ryan Lerch e2f045
              {% elif commit.parents|length > 1 %}
Ryan Lerch e2f045
              
Ryan Lerch e2f045
                
Ryan Lerch e2f045
                    data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Ryan Lerch e2f045
                  parents
Ryan Lerch e2f045
                
Ryan Lerch e2f045
                
Ryan Lerch e2f045
                  {% for parent in commit.parents %}
Ryan Lerch e2f045
                    
Ryan Lerch e2f045
                        'ui_ns.view_commit',
Ryan Lerch e2f045
                        repo=repo.name,
Ryan Lerch e2f045
                        username=username,
Ryan Lerch e2f045
                        namespace=repo.namespace,
Ryan Lerch e2f045
                        commitid=parent.oid.hex)
Ryan Lerch e2f045
                    }}" class="commitid">{{parent.oid.hex}}
Ryan Lerch e2f045
                  {% endfor %}
Ryan Lerch e2f045
                
Ryan Lerch e2f045
              
Ryan Lerch e2f045
              {% endif%}
Ryan Lerch 6d2e06
            
Ryan Lerch e2f045
      
Ryan Lerch bf5028
    
Ryan Lerch bf5028
Ryan Lerch e2f045
    {% macro changeschangedfile(filepath, added, removed, diffanchor) -%}
Ryan Lerch e2f045
    
Ryan Lerch e2f045
      
Ryan Lerch e2f045
          
Ryan Lerch e2f045
            {{ filepath | unicode }}
Ryan Lerch 6d2e06
          
Ryan Lerch e2f045
          
Ryan Lerch e2f045
              file modified
Ryan Lerch e2f045
              
Ryan Lerch e2f045
                  +{{added}}
Ryan Lerch e2f045
                  -{{removed}}
Ryan Lerch e2f045
                
Ryan Lerch e2f045
          
Ryan Lerch e2f045
      
Ryan Lerch e2f045
    
Ryan Lerch e2f045
    {%- endmacro %}
Ryan Lerch e2f045
    {% macro changesrenamedfile(oldfilepath, newfilepath, added, removed, diffanchor) -%}
Ryan Lerch e2f045
    
Ryan Lerch e2f045
        
Ryan Lerch e2f045
            
Pierre-Yves Chibon b0e9bc
                {{ newfilepath | unicode }}<strike>{{ oldfilepath | unicode }}</strike>
Ryan Lerch e2f045
            
Ryan Lerch e2f045
            
Ryan Lerch e2f045
                file renamed
Ryan Lerch e2f045
                
Ryan Lerch e2f045
                  +{{added}}
Ryan Lerch e2f045
                  -{{removed}}
Ryan Lerch e2f045
                
Ryan Lerch e2f045
            
Ryan Lerch e2f045
        
Ryan Lerch e2f045
      
Ryan Lerch e2f045
    {%- endmacro %}
Ryan Lerch e2f045
    {% macro changesdeletedfile(filepath, added, removed, diffanchor) -%}
Ryan Lerch e2f045
    
Ryan Lerch e2f045
        
Ryan Lerch e2f045
            
Ryan Lerch e2f045
                {{filepath | unicode }}
Ryan Lerch e2f045
            
Ryan Lerch e2f045
            
Ryan Lerch e2f045
                file removed
Ryan Lerch e2f045
                
Ryan Lerch e2f045
                    -{{removed}}
Ryan Lerch e2f045
                  
Ryan Lerch e2f045
            
Ryan Lerch e2f045
        
Ryan Lerch e2f045
    
Ryan Lerch e2f045
    {%- endmacro %}
Ryan Lerch e2f045
    {% macro changesaddedfile(filepath, added, removed, diffanchor) -%}
Ryan Lerch e2f045
    
Ryan Lerch e2f045
        
Ryan Lerch e2f045
            
Ryan Lerch e2f045
                {{filepath | unicode }}
Ryan Lerch e2f045
            
Ryan Lerch e2f045
            
Ryan Lerch e2f045
                file added
Ryan Lerch e2f045
                
Ryan Lerch e2f045
                  +{{added}}
Ryan Lerch e2f045
                
Ryan Lerch e2f045
            
Ryan Lerch e2f045
        
Ryan Lerch e2f045
    
Ryan Lerch e2f045
    {%- endmacro %}
Ryan Lerch e2f045
    
Ryan Lerch e2f045
        
Ryan Lerch e2f045
            {{diff.stats.files_changed}} file{{'s' if diff.stats.files_changed > 1 }} changed.
Ryan Lerch e2f045
            {{diff.stats.insertions}} lines added.
Ryan Lerch e2f045
            {{diff.stats.deletions}} lines removed.
Ryan Lerch e2f045
        
Ryan Lerch e2f045
        
Ryan Lerch e2f045
            
Ryan Lerch e2f045
                {% for patch in diff %}
Ryan Lerch e2f045
                      {% set linesadded = patch.line_stats[1] %}
Ryan Lerch e2f045
                      {% set linesremoved = patch.line_stats[2] %}
Ryan Lerch e2f045
                      {% if patch | hasattr('new_file_path') %}
Ryan Lerch e2f045
                        {%- if patch.new_file_path == patch.old_file_path -%}
Ryan Lerch e2f045
                          {%- if patch.status == 'D' -%}
Ryan Lerch e2f045
                            {{ changesdeletedfile(patch.new_file_path, linesadded, linesremoved, loop.index) }}
Ryan Lerch e2f045
                          {%- elif patch.status == 'A' -%}
Ryan Lerch e2f045
                            {{ changesaddedfile(patch.new_file_path | string, linesadded, linesremoved, loop.index) }}
Ryan Lerch e2f045
                          {%- elif patch.status == 'M' -%}
Ryan Lerch e2f045
                            {{ changeschangedfile(patch.new_file_path, linesadded, linesremoved, loop.index) }}
Ryan Lerch e2f045
                          {%-endif-%}
Ryan Lerch e2f045
                        {%- else -%}
Ryan Lerch e2f045
                          {{changesrenamedfile(patch.old_file_path, patch.new_file_path, linesadded, linesremoved, loop.index)}}
Ryan Lerch e2f045
                        {%- endif -%}
Ryan Lerch e2f045
                      {%- elif patch | hasattr('delta') -%}
Ryan Lerch e2f045
                        {%- if patch.delta.new_file.path == patch.delta.old_file.path -%}
Ryan Lerch e2f045
                          {%- if patch.delta.new_file.mode == 0
Slavek Kabrda dade63
                              and patch.delta.old_file.mode in expected_modes -%}
Ryan Lerch e2f045
                            {{ changesdeletedfile(patch.delta.new_file.path, linesadded, linesremoved, loop.index) }}
Slavek Kabrda dade63
                          {%- elif patch.delta.new_file.mode in expected_modes
Ryan Lerch e2f045
                               and patch.delta.old_file.mode == 0 -%}
Ryan Lerch e2f045
                            {{ changesaddedfile( patch.delta.new_file.path, linesadded, linesremoved, loop.index) }}
Slavek Kabrda dade63
                          {%- elif patch.delta.new_file.mode in expected_modes
Slavek Kabrda dade63
                               and patch.delta.old_file.mode in expected_modes -%}
Ryan Lerch e2f045
                            {{ changeschangedfile(patch.delta.new_file.path, linesadded, linesremoved, loop.index) }}
Ryan Lerch e2f045
                          {%-endif-%}
Ryan Lerch e2f045
                        {%- else -%}
Ryan Lerch e2f045
                          {{changesrenamedfile(patch.delta.old_file.path, patch.delta.new_file.path, linesadded, linesremoved, loop.index)}}
Ryan Lerch e2f045
                        {%- endif -%}
Ryan Lerch e2f045
                      {%- endif -%}
Ryan Lerch e2f045
                {% endfor %}
Ryan Lerch e2f045
                  
Ryan Lerch e2f045
        
Ryan Lerch e2f045
      
Ryan Lerch e2f045
Ryan Lerch 6d2e06
Ryan Lerch 6d2e06
    
Ryan Lerch 6d2e06
        {% if splitted_message|length > 1 %}
Ryan Lerch 6d2e06
        
Ryan Lerch 6d2e06
            {% for message in splitted_message %}
Ryan Lerch 3ec425
    {{ message | linkify | safe}}
Ryan Lerch 6d2e06
            {% endfor %}
Ryan Lerch 6d2e06
        
Ryan Lerch 067550
        {% endif %}
Ryan Lerch 6d2e06
    
Ryan Lerch 067550
Pierre-Yves Chibon b0e9bc
Ryan Lerch e2f045
    {% if flags %}
Ryan Lerch 6d2e06
    <section class="list-group" id="flag_list"></section>
Ryan Lerch 6d2e06
      
Ryan Lerch 6d2e06
          
    Ryan Lerch 6d2e06
                {% for flag in flags %}
    Ryan Lerch 6d2e06
                  
  • Ryan Lerch 6d2e06
                    
    Ryan Lerch 6d2e06
                      
    Ryan Lerch 6d2e06
                        {{ flag.username }}
    Ryan Lerch 6d2e06
                      
    Ryan Lerch 6d2e06
                      
    Ryan Lerch 2aa95c
                        
    Ryan Lerch 6d2e06
                          {{- flag.status -}}
    Ryan Lerch 6d2e06
                          {%- if flag.percent %} ({{ flag.percent }}%) {%- endif -%}
    Ryan Lerch 6d2e06
                        
    Ryan Lerch 6d2e06
                      
    Ryan Lerch 6d2e06
                    
    Ryan Lerch 6d2e06
                    <small>
    </small>
    Ryan Lerch 6d2e06
                        {{ flag.comment }}
    Pierre-Yves Chibon c01a85
                        
    Pierre-Yves Chibon c01a85
                            flag.date_created == flag.date_updated -%}
    Pierre-Yves Chibon c01a85
                              Created at {% else -%} Updated at {% endif -%}
    Pierre-Yves Chibon c01a85
                          {{ flag.date_updated }}" class="pull-xs-right">
    Pierre-Yves Chibon c01a85
                          {{ flag.date_updated | humanize }}
    Ryan Lerch 6d2e06
                    
    Ryan Lerch 6d2e06
                    
    Ryan Lerch 6d2e06
                  
    Ryan Lerch 6d2e06
                {% endfor %}
    Ryan Lerch 6d2e06
              
    Ryan Lerch 6d2e06
            
    Ryan Lerch 6d2e06
        
    Ryan Lerch e2f045
        {% endif %}
    Johan Cwiklinski 002118
    Ryan Lerch e2f045
        {% if diff %}
    Ryan Lerch e2f045
          {% for patch in diff %}
    Ryan Lerch e2f045
            {% if patch |hasattr('new_id') %}
    Ryan Lerch e2f045
              {% set patch_new_id = patch.new_id %}
    Ryan Lerch e2f045
            {% elif patch |hasattr('delta') %}
    Ryan Lerch e2f045
              {% set patch_new_id = patch.delta.new_file.id %}
    Ryan Lerch e2f045
            {% else %}
    Ryan Lerch e2f045
              {% set patch_new_id = patch.new_oid %}
    Ryan Lerch e2f045
            {% endif %}
    Pierre-Yves Chibon 8715b5
    Ryan Lerch e2f045
            {% if patch |hasattr('old_id') %}
    Ryan Lerch e2f045
              {% set patch_old_id = patch.old_id %}
    Ryan Lerch e2f045
            {% elif patch |hasattr('delta') %}
    Ryan Lerch e2f045
              {% set patch_old_id = patch.delta.old_file.id %}
    Ryan Lerch 6d2e06
            {% else %}
    Ryan Lerch e2f045
              {% set patch_old_id = patch.old_oid %}
    Ryan Lerch 6d2e06
            {% endif %}
    Ryan Lerch e2f045
    Ryan Lerch e2f045
            {% if patch | hasattr('new_file_path') %}
    Ryan Lerch e2f045
              {% set patch_new_file_path = patch.new_file_path -%}
    Ryan Lerch e2f045
              {% if patch.new_file_path != patch.old_file_path %}
    Ryan Lerch e2f045
                {% set patch_old_file_path = patch.old_file_path %}
    Ryan Lerch e2f045
              {%- endif -%}
    Ryan Lerch e2f045
            {%- elif patch | hasattr('delta') -%}
    Ryan Lerch e2f045
              {% set patch_new_file_path = patch.delta.new_file.path -%}
    Ryan Lerch e2f045
              {%- if patch.delta.new_file.path != patch.delta.old_file.path -%}
    Ryan Lerch e2f045
                {% set patch_old_file_path = patch.delta.old_file.path %}
    Ryan Lerch e2f045
              {%- endif -%}
    Ryan Lerch e2f045
            {%- endif -%}
    Ryan Lerch e2f045
    Ryan Lerch e2f045
    Ryan Lerch e2f045
        <section class="commit_diff"></section>
    Ryan Lerch e2f045
          
    Ryan Lerch e2f045
            
    Ryan Lerch e2f045
                
    Ryan Lerch e2f045
                  {% set linesadded = patch.line_stats[1] %}
    Ryan Lerch e2f045
                  {% set linesremoved = patch.line_stats[2] %}
    Ryan Lerch e2f045
    Ryan Lerch e2f045
                  {% macro lineschanged(added, removed) -%}
    Ryan Lerch e2f045
                    
    Ryan Lerch e2f045
                    {%if added%}
    Ryan Lerch e2f045
                      +{{linesadded}}
    Ryan Lerch e2f045
                    {%endif%}
    Ryan Lerch e2f045
                    {%if removed%}
    Ryan Lerch e2f045
                      -{{linesremoved}}
    Ryan Lerch e2f045
                    {%endif%}
    Ryan Lerch e2f045
                    
    Ryan Lerch e2f045
                  {%endmacro%}
    Ryan Lerch e2f045
    Ryan Lerch e2f045
                  {% macro viewfilelink(filepath)%}
    Ryan Lerch 502898
                        
    Ryan Lerch e2f045
                          url_for(
    Ryan Lerch e2f045
                              'ui_ns.view_file',
    Ryan Lerch e2f045
                              repo=repo.name,
    Ryan Lerch e2f045
                              username=username,
    Ryan Lerch e2f045
                              namespace=repo.namespace,
    Ryan Lerch e2f045
                              identifier=commitid,
    Ryan Lerch e2f045
                              filename=filepath) }}"
    Ryan Lerch e2f045
                          title="View file as of {{ commitid|short }}">{{
    Ryan Lerch e2f045
                          filepath | unicode }}
    Ryan Lerch e2f045
                  {% endmacro %}
    Ryan Lerch e2f045
    Ryan Lerch e2f045
                  {% macro viewfilelinkbutton(filepath, disabled=False)%}
    Ryan Lerch e2f045
                  
    Ryan Lerch e2f045
                    url_for(
    Ryan Lerch e2f045
                        'ui_ns.view_file',
    Ryan Lerch e2f045
                        repo=repo.name,
    Ryan Lerch e2f045
                        username=username,
    Ryan Lerch e2f045
                        namespace=repo.namespace,
    Ryan Lerch e2f045
                        identifier=commitid,
    Ryan Lerch e2f045
                        filename=filepath) }}"
    Ryan Lerch e2f045
                    title="View file as of {{ commitid|short }}">
    Ryan Lerch e2f045
                    
    Ryan Lerch e2f045
                  
    Ryan Lerch e2f045
                  {% endmacro %}
    Ryan Lerch e2f045
    Ryan Lerch e2f045
                  {% macro changedlabel(thelabel, thecolor)%}
    Ryan Lerch e2f045
                    
    Pierre-Yves Chibon b0e9bc
                      {{- thelabel -}}
    Ryan Lerch e2f045
                    
    Ryan Lerch e2f045
                  {% endmacro %}
    Ryan Lerch e2f045
    Ryan Lerch e2f045
                  {% macro diffcollapsebtn()%}
    Ryan Lerch e2f045
                    
    Ryan Lerch e2f045
                      
    Ryan Lerch e2f045
                    
    Ryan Lerch e2f045
                  {% endmacro %}
    Ryan Lerch e2f045
    Ryan Lerch e2f045
                  {% if patch | hasattr('new_file_path') %}
    Ryan Lerch e2f045
                    {%- if patch.new_file_path == patch.old_file_path -%}
    Ryan Lerch e2f045
                      {%- if patch.status == 'D' -%}
    Ryan Lerch e2f045
                        {% set patchtype = "removed"%}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                            {{ viewfilelink(patch.new_file.path) }}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                          {{ changedlabel("file removed", "danger")}}
    Ryan Lerch e2f045
                          {{ lineschanged(False, True) }}
    Ryan Lerch e2f045
                          {{ viewfilelinkbutton(patch.new_file.path, disabled=True) }}
    Ryan Lerch e2f045
                          {{ diffcollapsebtn() }}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                      {%-elif patch.status == 'A' -%}
    Ryan Lerch e2f045
                        {% set patchtype = "added"%}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                            {{ viewfilelink(patch.new_file.path) }}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                        
    Pierre-Yves Chibon b0e9bc
                          {{ changedlabel("file added", "success")}}
    Ryan Lerch e2f045
                          {{ lineschanged(True, False) }}
    Ryan Lerch e2f045
                          {{ viewfilelinkbutton(patch.new_file.path) }}
    Ryan Lerch e2f045
                          {% if linesadded != 0%}
    Ryan Lerch e2f045
                            {{ diffcollapsebtn() }}
    Ryan Lerch e2f045
                          {% endif %}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                      {%-elif patch.status == 'M' -%}
    Ryan Lerch e2f045
                        {% set patchtype = "changed"%}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                            {{ viewfilelink(patch.new_file.path) }}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                          {{ changedlabel("file modified", "secondary")}}
    Ryan Lerch e2f045
                          {{ lineschanged(True, True) }}
    Ryan Lerch e2f045
                          {{ viewfilelinkbutton(patch.new_file.path) }}
    Ryan Lerch e2f045
                          {{ diffcollapsebtn() }}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                      {%-endif-%}
    Ryan Lerch e2f045
                    {%- else -%}
    Ryan Lerch e2f045
                      {% set patchtype = "moved"%}
    Ryan Lerch e2f045
                      
    Pierre-Yves Chibon b0e9bc
                          {{ viewfilelink(patch.new_file.path) }}<strike>{{patch.old_file.path}}</strike>
    Ryan Lerch e2f045
                      
    Ryan Lerch e2f045
                      
    Ryan Lerch e2f045
                        {{ changedlabel("file renamed", "info")}}
    Ryan Lerch e2f045
                        {% if linesadded != 0 and linesremoved != 0%}
    Ryan Lerch e2f045
                          {{ lineschanged(True, True) }}
    Ryan Lerch e2f045
                        {% endif %}
    Ryan Lerch e2f045
                        {{ viewfilelinkbutton(patch.new_file.path) }}
    Ryan Lerch e2f045
                        {% if linesadded != 0 and linesremoved != 0%}
    Ryan Lerch e2f045
                          {{ diffcollapsebtn() }}
    Ryan Lerch e2f045
                        {% endif %}
    Ryan Lerch e2f045
                      
    Ryan Lerch e2f045
                    {%- endif -%}
    Ryan Lerch e2f045
                  {%- elif patch | hasattr('delta') -%}
    Ryan Lerch e2f045
                    {%- if patch.delta.new_file.path == patch.delta.old_file.path -%}
    Ryan Lerch e2f045
                      {%- if patch.delta.new_file.mode == 0
    Slavek Kabrda dade63
                          and patch.delta.old_file.mode in expected_modes -%}
    Ryan Lerch e2f045
                        {% set patchtype = "removed"%}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                            {{ viewfilelink(patch.delta.new_file.path) }}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                          {{ changedlabel("file removed", "danger")}}
    Ryan Lerch e2f045
                          {{ lineschanged(False, True) }}
    Ryan Lerch e2f045
                          {{ viewfilelinkbutton(patch.delta.new_file.path, disabled=True) }}
    Ryan Lerch e2f045
                          {{ diffcollapsebtn() }}
    Ryan Lerch e2f045
                        
    Slavek Kabrda dade63
                      {%-elif patch.delta.new_file.mode in expected_modes
    Ryan Lerch e2f045
                          and patch.delta.old_file.mode == 0 -%}
    Ryan Lerch e2f045
                        {% set patchtype = "added"%}
    Ryan Lerch e2f045
                          
    Ryan Lerch e2f045
                              {{ viewfilelink(patch.delta.new_file.path) }}
    Ryan Lerch e2f045
                          
    Ryan Lerch e2f045
                          
    Pierre-Yves Chibon b0e9bc
                            {{ changedlabel("file added", "success")}}
    Ryan Lerch e2f045
                            {{ lineschanged(True, False) }}
    Ryan Lerch e2f045
                            {{ viewfilelinkbutton(patch.delta.new_file.path) }}
    Ryan Lerch e2f045
                            {% if linesadded != 0%}
    Ryan Lerch e2f045
                              {{ diffcollapsebtn() }}
    Ryan Lerch e2f045
                            {% endif %}
    Ryan Lerch e2f045
                          
    Slavek Kabrda dade63
                      {%-elif patch.delta.new_file.mode in expected_modes
    Slavek Kabrda dade63
                          and patch.delta.old_file.mode in expected_modes -%}
    Ryan Lerch e2f045
                        {% set patchtype = "changed"%}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                            {{ viewfilelink(patch.delta.new_file.path) }}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                          {{ changedlabel("file modified", "secondary")}}
    Ryan Lerch e2f045
                          {{ lineschanged(True, True) }}
    Ryan Lerch e2f045
                          {{ viewfilelinkbutton(patch.delta.new_file.path) }}
    Ryan Lerch e2f045
                          {{ diffcollapsebtn() }}
    Ryan Lerch e2f045
                        
    Ryan Lerch e2f045
                      {%-endif-%}
    Ryan Lerch e2f045
    Ryan Lerch e2f045
                    {%- else -%}
    Ryan Lerch e2f045
                      {% set patchtype = "moved"%}
    Ryan Lerch e2f045
                      
    Pierre-Yves Chibon b0e9bc
                          {{ viewfilelink(patch.delta.new_file.path) }}<strike>{{patch.delta.old_file.path}}</strike>
    Ryan Lerch e2f045
                      
    Ryan Lerch e2f045
                      
    Ryan Lerch e2f045
                        {{ changedlabel("file renamed", "info")}}
    Ryan Lerch e2f045
                        {% if linesadded != 0 and linesremoved != 0%}
    Ryan Lerch e2f045
                          {{ lineschanged(True, True) }}
    Ryan Lerch e2f045
                        {% endif %}
    Ryan Lerch e2f045
                        {{ viewfilelinkbutton(patch.delta.new_file.path) }}
    Ryan Lerch e2f045
                        {% if linesadded != 0 and linesremoved != 0%}
    Ryan Lerch e2f045
                          {{ diffcollapsebtn() }}
    Ryan Lerch e2f045
                        {% endif %}
    Ryan Lerch e2f045
                      
    Ryan Lerch e2f045
                    {%- endif -%}
    Ryan Lerch e2f045
                  {%- endif -%}
    Ryan Lerch e2f045
              
    Ryan Lerch e2f045
            
    Ryan Lerch e2f045
          {% if patchtype == "moved" and linesadded == 0 and linesremoved == 0%}
    Ryan Lerch e2f045
            
    Ryan Lerch e2f045
              
    file was renamed with no change to the file
    Ryan Lerch e2f045
            
    Ryan Lerch e2f045
          {% elif patchtype == "added" and linesadded == 0 %}
    Ryan Lerch e2f045
            
    Ryan Lerch e2f045
              
    empty file added
    Ryan Lerch e2f045
            
    Ryan Lerch e2f045
          {% else %}
    Ryan Lerch e2f045
            
    Ryan Lerch e2f045
          {% endif %}
    Ryan Lerch e2f045
    Ryan Lerch e2f045
          
    Ryan Lerch e2f045
          
    Ryan Lerch e2f045
          {% endfor %}
    Ryan Lerch e2f045
          {% endif %}
    Ryan Lerch e2f045
    Ryan Lerch e2f045
    Ryan Lerch bf5028
      
    Ryan Lerch bf5028
    Ryan Lerch f2a843
    Johan Cwiklinski 002118
    Pierre-Yves Chibon 2088eb
    {% endblock %}
    Ryan Lerch 067550
    Ryan Lerch 067550
    Ryan Lerch 067550
    Ryan Lerch 067550
    {% block jscripts %}
    Ryan Lerch 067550
        {{ super() }}
    Pierre-Yves Chibon b0e9bc
    Pierre-Yves Chibon 3ff704
        
    Pierre-Yves Chibon 3ff704
          url_for('static', filename='vendor/diff2html/diff2html.min.js') }}?version={{ g.version}}">
    Pierre-Yves Chibon 3ff704
        
    Pierre-Yves Chibon 3ff704
          url_for('static', filename='vendor/highlight.js/highlight.pack.js') }}?version={{ g.version}}">
    Pierre-Yves Chibon 3ff704
        
    Pierre-Yves Chibon 3ff704
          url_for('static', filename='vendor/highlight.js/spec.js') }}?version={{ g.version}}">
    Pierre-Yves Chibon 3ff704
        
    Pierre-Yves Chibon 3ff704
          url_for('static', filename='vendor/diff2html/diff2html-ui.min.js') }}?version={{ g.version}}">
    Ryan Lerch e2f045
    Pierre-Yves Chibon 7694ed
        <script nonce="{{ g.nonce }}" type="text/javascript"></script>
    Ryan Lerch e2f045
          $(document).ready(function() {
    Ryan Lerch e2f045
            $(".diffcollapse").click(function(e){
    Ryan Lerch e2f045
              $(this).find("i").toggleClass("fa-caret-down fa-caret-up")
    Ryan Lerch e2f045
            });
    Ryan Lerch e2f045
          });
    Ryan Lerch 067550
          $(function(){
    Ryan Lerch 067550
            $('#diff_list_link').click(function(){
    Ryan Lerch 067550
              $('#diff_list').toggle();
    Ryan Lerch 067550
            });
    Ryan Lerch 067550
          });
    Pierre-Yves Chibon d7d583
          $.ajax({
    Ryan Lerch e2f045
            url: '{{ url_for("ui_ns.view_commit_diff", repo=repo.name,username=username,namespace=repo.namespace,commitid=commitid,js=True ) }}' ,
    Ryan Lerch e2f045
            type: 'GET',
    Ryan Lerch e2f045
            dataType: 'json',
    Ryan Lerch e2f045
            success: function(res) {
    Ryan Lerch e2f045
              $(".diff2html-output").each(function(){
    Ryan Lerch e2f045
              var diffString = res[$(this).attr("data-diffno")];
    Ryan Lerch e2f045
              var diff2htmlUi = new Diff2HtmlUI({diff: diffString});
    Ryan Lerch e2f045
              {% if splitview %}
    Ryan Lerch e2f045
                diff2htmlUi.draw('#diff2html_'+$(this).attr("data-diffno"), {inputFormat: 'diff', outputFormat: 'side-by-side'});
    Ryan Lerch e2f045
              {% else %}
    Ryan Lerch e2f045
                diff2htmlUi.draw('#diff2html_'+$(this).attr("data-diffno"), {inputFormat: 'diff'});
    Ryan Lerch e2f045
              {% endif %}
    Ryan Lerch e2f045
              diff2htmlUi.highlightCode('#diff2html_'+$(this).attr("data-diffno"));
    Pierre-Yves Chibon b0e9bc
    Ryan Lerch e2f045
              });
    Ryan Lerch e2f045
            }
    Ryan Lerch e2f045
          });
    Ryan Lerch e2f045
    Ryan Lerch e2f045
          $.ajax({
    Pierre-Yves Chibon d7d583
            url: '{{ url_for("internal_ns.get_branches_of_commit") }}' ,
    Pierre-Yves Chibon d7d583
            type: 'POST',
    Pierre-Yves Chibon d7d583
            data: {
    Pierre-Yves Chibon d7d583
              repo: "{{ repo.name }}",
    Pierre-Yves Chibon d7d583
              repouser: "{{ repo.user.user if repo.is_fork else '' }}",
    Pierre-Yves Chibon 17e9e2
              namespace: "{{ repo.namespace if repo.namespace else '' }}",
    Pierre-Yves Chibon d7d583
              commit_id: "{{ commitid }}",
    Pierre-Yves Chibon bf0132
              csrf_token: "{{ g.confirmationform.csrf_token.current_token }}",
    Pierre-Yves Chibon d7d583
            },
    Pierre-Yves Chibon d7d583
            dataType: 'json',
    Pierre-Yves Chibon d7d583
            success: function(res) {
    Pierre-Yves Chibon f6100f
                if (res.branches.length == 0){
    Pierre-Yves Chibon d7d583
                    return;
    Pierre-Yves Chibon d7d583
                }
    Pierre-Yves Chibon d7d583
                var _br = '';
    Pierre-Yves Chibon f6100f
                for (var i = 0; i < res.branches.length; ++i) {
    Pierre-Yves Chibon d7d583
                    if (_br.length > 0){
    Pierre-Yves Chibon d7d583
                        _br += ', ';
    Pierre-Yves Chibon d7d583
                    }
    Pierre-Yves Chibon f6100f
                    _br += res.branches[i]
    Pierre-Yves Chibon d7d583
                }
    Pierre-Yves Chibon d7d583
                var el = $('#diff-file-1');
    Pierre-Yves Chibon 014417
                if (!el){
    Pierre-Yves Chibon 014417
                    return;
    Pierre-Yves Chibon 014417
                }
    Pierre-Yves Chibon d7d583
                el.before(
    Ryan Lerch 6d2e06
                    '
    '
    Pierre-Yves Chibon d7d583
                    + _br + '');
    Pierre-Yves Chibon d7d583
            }
    Pierre-Yves Chibon d7d583
          });
    Ryan Lerch 067550
        
    Ryan Lerch 067550
    {% endblock %}