Implementing the commit detail page.

This commit is contained in:
takezoe
2013-04-21 04:08:00 +09:00
parent 29c0e73caf
commit b3b54718c6
2 changed files with 8 additions and 4 deletions

View File

@@ -129,17 +129,21 @@ class RepositoryViewerServlet extends ServletBase {
val dir = getBranchDir(owner, repository, branch) val dir = getBranchDir(owner, repository, branch)
val git = Git.open(dir) val git = Git.open(dir)
val rev = git.log.add(ObjectId.fromString(id)).call.iterator.next val ite = git.log.add(ObjectId.fromString(id)).call.iterator
val rev = ite.next
val old = ite.next
println(new String(rev.getRawBuffer()))
// get diff // get diff
val reader = git.getRepository.newObjectReader val reader = git.getRepository.newObjectReader
val oldTreeIter = new CanonicalTreeParser val oldTreeIter = new CanonicalTreeParser
oldTreeIter.reset(reader, git.getRepository.resolve(id + "^{tree}")) oldTreeIter.reset(reader, git.getRepository.resolve(old.name + "^{tree}"))
// TODO specify previous commit // TODO specify previous commit
val newTreeIter = new CanonicalTreeParser val newTreeIter = new CanonicalTreeParser
newTreeIter.reset(reader, git.getRepository.resolve("HEAD^{tree}")) newTreeIter.reset(reader, git.getRepository.resolve(id + "^{tree}"))
import scala.collection.JavaConverters._ import scala.collection.JavaConverters._
val diffs = git.diff.setNewTree(newTreeIter).setOldTree(oldTreeIter).call.asScala.map { diff => val diffs = git.diff.setNewTree(newTreeIter).setOldTree(oldTreeIter).call.asScala.map { diff =>

View File

@@ -17,7 +17,7 @@
<tr> <tr>
<td> <td>
<div class="pull-left"> <div class="pull-left">
<a href="#"><strong>@helpers.cut(commit.message, 100)</strong></a><br> <a href="@path/@repository.owner/@repository.name/commit/@commit.id"><strong>@helpers.cut(commit.message, 100)</strong></a><br>
<div class="small"> <div class="small">
<a href="@path/@commit.committer">@commit.committer</a> <a href="@path/@commit.committer">@commit.committer</a>
<span class="description">@helpers.datetime(commit.time)</span> <span class="description">@helpers.datetime(commit.time)</span>