Fixed diff for initial commit.

This commit is contained in:
takezoe
2013-04-30 01:26:37 +09:00
parent b05d482505
commit 674ed8b615

View File

@@ -158,15 +158,16 @@ class RepositoryViewerServlet extends ServletBase {
val commits = getCommitLog(revWalk.iterator, Nil) val commits = getCommitLog(revWalk.iterator, Nil)
revWalk.release revWalk.release
val rev = commits(0) val revCommit = commits(0)
val old = commits(1)
val diffs = if(old != null){ val diffs = if(commits.length >= 2){
val oldCommit = commits(1)
// get diff between specified commit and its previous commit // get diff between specified commit and its previous commit
val reader = git.getRepository.newObjectReader val reader = git.getRepository.newObjectReader
val oldTreeIter = new CanonicalTreeParser val oldTreeIter = new CanonicalTreeParser
oldTreeIter.reset(reader, git.getRepository.resolve(old.name + "^{tree}")) oldTreeIter.reset(reader, git.getRepository.resolve(oldCommit.name + "^{tree}"))
val newTreeIter = new CanonicalTreeParser val newTreeIter = new CanonicalTreeParser
newTreeIter.reset(reader, git.getRepository.resolve(id + "^{tree}")) newTreeIter.reset(reader, git.getRepository.resolve(id + "^{tree}"))
@@ -180,7 +181,7 @@ class RepositoryViewerServlet extends ServletBase {
} else { } else {
// initial commit // initial commit
val walk = new TreeWalk(git.getRepository) val walk = new TreeWalk(git.getRepository)
walk.addTree(rev.getTree) walk.addTree(revCommit.getTree)
val buffer = new scala.collection.mutable.ListBuffer[DiffInfo]() val buffer = new scala.collection.mutable.ListBuffer[DiffInfo]()
while(walk.next){ while(walk.next){
buffer.append(DiffInfo(ChangeType.ADD, null, walk.getPathString, None, buffer.append(DiffInfo(ChangeType.ADD, null, walk.getPathString, None,
@@ -190,9 +191,7 @@ class RepositoryViewerServlet extends ServletBase {
buffer.toList buffer.toList
} }
html.commit(id, html.commit(id, new CommitInfo(revCommit), repositoryInfo, diffs)
CommitInfo(rev.getName, rev.getCommitterIdent.getWhen, rev.getCommitterIdent.getName, rev.getFullMessage),
repositoryInfo, diffs)
} }
/** /**