@(commitId: String, commit: util.JGitUtil.CommitInfo, branchs: List[String], tags: List[String], repository: service.RepositoryService.RepositoryInfo, diffs: Seq[util.JGitUtil.DiffInfo])(implicit context: app.Context)
@import context._
@import view.helpers
@import view.implicits._
@import org.eclipse.jgit.diff.DiffEntry.ChangeType
@html.main(commit.shortMessage){
@html.header("code", repository)
@navtab(commitId, 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">
@branchs.map { branch => <a href="@path/@repository.owner/@repository.name/tree/@branch">@branch</a> }.mkHtml(", ")
</span>
<span class="description">
@tags.map { tag => <a href="@path/@repository.owner/@repository.name/tree/@tag">@tag</a> }.mkHtml(", ")
</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.map { parent =>
<a href="@path/@repository.owner/@repository.name/commit/@parent" class="commit-id">@parent.substring(0, 7)</a>
}.mkHtml(" + ")
</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/diff_move.png"/> @diff.oldPath -> @diff.newPath
}
@if(diff.changeType == ChangeType.ADD){
<img src="@path/assets/common/images/diff_add.png"/> @diff.newPath
}
@if(diff.changeType == ChangeType.MODIFY){
<img src="@path/assets/common/images/diff_edit.png"/> @diff.newPath
}
@if(diff.changeType == ChangeType.DELETE){
<img src="@path/assets/common/images/diff_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>