diff --git a/src/main/scala/service/RepositorySearchService.scala b/src/main/scala/service/RepositorySearchService.scala index 669a36b..4807421 100644 --- a/src/main/scala/service/RepositorySearchService.scala +++ b/src/main/scala/service/RepositorySearchService.scala @@ -29,20 +29,24 @@ def countFiles(owner: String, repository: String, query: String): Int = JGitUtil.withGit(getRepositoryDir(owner, repository)){ git => - searchRepositoryFiles(git, query).length + if(JGitUtil.isEmpty(git)) 0 else searchRepositoryFiles(git, query).length } def searchFiles(owner: String, repository: String, query: String): List[FileSearchResult] = JGitUtil.withGit(getRepositoryDir(owner, repository)){ git => - val files = searchRepositoryFiles(git, query) - val commits = JGitUtil.getLatestCommitFromPaths(git, files.toList.map(_._1), "HEAD") - files.map { case (path, text) => - val (highlightText, lineNumber) = getHighlightText(text, query) - FileSearchResult( - path, - commits(path).getCommitterIdent.getWhen, - highlightText, - lineNumber) + if(JGitUtil.isEmpty(git)){ + Nil + } else { + val files = searchRepositoryFiles(git, query) + val commits = JGitUtil.getLatestCommitFromPaths(git, files.toList.map(_._1), "HEAD") + files.map { case (path, text) => + val (highlightText, lineNumber) = getHighlightText(text, query) + FileSearchResult( + path, + commits(path).getCommitterIdent.getWhen, + highlightText, + lineNumber) + } } } @@ -118,4 +122,4 @@ highlightText: String, highlightLineNumber: Int) -} \ No newline at end of file +} diff --git a/src/main/scala/util/JGitUtil.scala b/src/main/scala/util/JGitUtil.scala index 03adc15..f42c68d 100644 --- a/src/main/scala/util/JGitUtil.scala +++ b/src/main/scala/util/JGitUtil.scala @@ -524,10 +524,12 @@ } } + def isEmpty(git: Git): Boolean = git.getRepository.resolve(Constants.HEAD) == null + private def setReceivePack(repository: org.eclipse.jgit.lib.Repository): Unit = { val config = repository.getConfig config.setBoolean("http", null, "receivepack", true) config.save } -} \ No newline at end of file +}