diff --git a/src/main/scala/gitbucket/core/util/JGitUtil.scala b/src/main/scala/gitbucket/core/util/JGitUtil.scala index 69b8c6f..ee932e6 100644 --- a/src/main/scala/gitbucket/core/util/JGitUtil.scala +++ b/src/main/scala/gitbucket/core/util/JGitUtil.scala @@ -287,9 +287,6 @@ } } revWalk.markStart(revCommit) - if(path != "."){ - revWalk.setTreeFilter(PathFilter.create(path)) - } val it = revWalk.iterator val lastCommit = it.next val nextParentsMap = Option(lastCommit).map(_.getParents.map(_ -> lastCommit).toMap).getOrElse(Map()) diff --git a/src/test/scala/gitbucket/core/util/JGitUtilSpec.scala b/src/test/scala/gitbucket/core/util/JGitUtilSpec.scala index bd8bf03..5a755f5 100644 --- a/src/test/scala/gitbucket/core/util/JGitUtilSpec.scala +++ b/src/test/scala/gitbucket/core/util/JGitUtilSpec.scala @@ -90,4 +90,14 @@ list("master", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false)) } } -} \ No newline at end of file + "getFileList subfolder multi-origin (issue #721)" should { + withTestRepository { git => + def list(branch: String, path: String) = + JGitUtil.getFileList(git, branch, path).map(finfo => (finfo.name, finfo.message, finfo.isDirectory)) + createFile(git, "master", "README.md", "body1", message = "commit1") + createFile(git, "branch", "test/text2.txt", "body2", message = "commit2") + mergeAndCommit(git, "master", "branch", message = "merge3") + list("master", "test") mustEqual List(("text2.txt", "commit2", false)) + } + } +}