BufFix for the repository viewer.

This commit is contained in:
takezoe
2013-06-05 14:15:23 +09:00
parent 54ca687995
commit 927ff5f8c1
2 changed files with 26 additions and 8 deletions

View File

@@ -6,9 +6,9 @@ import scala.collection.JavaConverters._
import javax.servlet.ServletContext
import org.eclipse.jgit.lib._
import org.eclipse.jgit.revwalk._
import org.eclipse.jgit.revwalk.filter.RevFilter
import org.eclipse.jgit.revwalk.filter._
import org.eclipse.jgit.treewalk._
import org.eclipse.jgit.treewalk.filter.PathFilter
import org.eclipse.jgit.treewalk.filter._
import org.eclipse.jgit.diff._
import org.eclipse.jgit.diff.DiffEntry.ChangeType
import org.eclipse.jgit.util.io.DisabledOutputStream
@@ -144,9 +144,27 @@ object JGitUtil {
treeWalk.addTree(revCommit.getTree)
if(path != "."){
treeWalk.setRecursive(true)
treeWalk.setFilter(PathFilter.create(path))
treeWalk.next()
treeWalk.setRecursive(false)
treeWalk.setFilter(new TreeFilter(){
var stopRecursive = false
def include(walker: TreeWalk): Boolean = {
val targetPath = walker.getPathString
if((path + "/").startsWith(targetPath)){
true
} else if(targetPath.startsWith(path + "/") && targetPath.substring(path.length + 1).indexOf("/") < 0){
stopRecursive = true
treeWalk.setRecursive(false)
true
} else {
false
}
}
def shouldBeRecursive(): Boolean = !stopRecursive
override def clone: TreeFilter = return this
})
}
val list = new scala.collection.mutable.ListBuffer[FileInfo]

View File

@@ -6,11 +6,11 @@
@navtab(branch, repository, "files")
<div class="head">
<a href="@path/@repository.owner/@repository.name/tree/@branch">@repository.name</a> /
@pathList.zipWithIndex.map { case (path, i) =>
@pathList.zipWithIndex.map { case (section, i) =>
@if(i == pathList.length - 1){
@path
@section
} else {
<a href="@path/@repository.owner/@repository.name/tree/@branch/@pathList.take(i + 1).mkString("/")">@path</a> /
<a href="@path/@repository.owner/@repository.name/tree/@branch/@pathList.take(i + 1).mkString("/")">@section</a> /
}
}
</div>