@(branch: String, commit: util.JGitUtil.CommitInfo, repository: service.RepositoryService.RepositoryInfo, diffs: Seq[util.JGitUtil.DiffInfo])(implicit context: app.Context) @import context._ @import view.helpers @import org.eclipse.jgit.diff.DiffEntry.ChangeType @html.main(commit.shortMessage){ @html.header("code", repository) @navtab(branch, repository, "commits") <table class="table table-bordered"> <tr> <th> <div class="pull-right align-right"> <a href="@path/@repository.owner/@repository.name/tree/@commit.id" class="btn btn-small">Browse code</a> </div> <div class="commit-log">@commit.shortMessage</div> @if(commit.description.isDefined){ <pre class="commit-description">@commit.description.get</pre> } <div class="small" style="font-weight: normal;"><span class="description">@branch</span></div> </th> </tr> <tr> <td> <a href="@path/@commit.committer" class="username">@commit.committer</a> <span class="description">@helpers.datetime(commit.time)</span> <div class="pull-right monospace small" style="text-align: right;"> <div> @if(commit.parents.size == 0){ <span class="description">0 parent</span> } @if(commit.parents.size == 1){ <span class="description">1 parent</span> <a href="@path/@repository.owner/@repository.name/commit/@commit.parents(0)" class="commit-id">@commit.parents(0).substring(0, 7)</a> } <span class="description">commit</span> @commit.id </div> @if(commit.parents.size > 1){ <div> <span class="description">@commit.parents.size parents @commit.parents.zipWithIndex.map { case (parent, i) => @if(i != 0){ + } <a href="@path/@repository.owner/@repository.name/commit/@parent" class="commit-id">@parent.substring(0, 7)</a> } </span> </div> } </div> </td> </tr> </table> <div> <div class="pull-right" style="margin-bottom: 10px;"> <input id="toggle-file-list" type="button" class="btn" value="Show file list"/> </div> @if(diffs.size == 1){ Showing 1 changed files } else { Showing @diffs.size changed files } </div> <ul id="commit-file-list" style="display: none;"> @diffs.zipWithIndex.map { case (diff, i) => <li@if(i > 0){ class="border"}> <a href="#diff-@i"> @if(diff.changeType == ChangeType.COPY || diff.changeType == ChangeType.RENAME){ <img src="@path/assets/common/images/page_copy.png"/> @diff.oldPath -> @diff.newPath } @if(diff.changeType == ChangeType.ADD){ <img src="@path/assets/common/images/page_add.png"/> @diff.newPath } @if(diff.changeType == ChangeType.MODIFY){ <img src="@path/assets/common/images/page_edit.png"/> @diff.newPath } @if(diff.changeType == ChangeType.DELETE){ <img src="@path/assets/common/images/page_delete.png"/> @diff.oldPath } </a> </li> } </ul> @html.diff(diffs, repository, Some(commit.id)) } <script> $(function(){ $('#toggle-file-list').click(function(){ $('#commit-file-list').toggle(); if($(this).val() == 'Show file list'){ $(this).val('Hide file list'); } else { $(this).val('Show file list'); } }); }); </script>