diff --git a/src/main/scala/gitbucket/core/service/WikiService.scala b/src/main/scala/gitbucket/core/service/WikiService.scala index 5cd4306..35cc065 100644 --- a/src/main/scala/gitbucket/core/service/WikiService.scala +++ b/src/main/scala/gitbucket/core/service/WikiService.scala @@ -75,13 +75,15 @@ def getWikiPage(owner: String, repository: String, pageName: String): Option[WikiPageInfo] = { Using.resource(Git.open(Directory.getWikiRepositoryDir(owner, repository))) { git => if (!JGitUtil.isEmpty(git)) { - JGitUtil.getFileList(git, "master", ".").find(_.name == pageName + ".md").map { file => + val fileName = pageName + ".md" + JGitUtil.getLatestCommitFromPath(git, fileName, "master").map { latestCommit => + val content = JGitUtil.getContentFromPath(git, latestCommit.getTree, fileName, true) WikiPageInfo( - file.name, - StringUtil.convertFromByteArray(git.getRepository.open(file.id).getBytes), - file.author, - file.time, - file.commitId + fileName, + StringUtil.convertFromByteArray(content.getOrElse(Array.empty)), + latestCommit.getAuthorIdent.getName, + latestCommit.getAuthorIdent.getWhen, + latestCommit.getName ) } } else None diff --git a/src/main/scala/gitbucket/core/util/JGitUtil.scala b/src/main/scala/gitbucket/core/util/JGitUtil.scala index ad17a9e..38177fc 100644 --- a/src/main/scala/gitbucket/core/util/JGitUtil.scala +++ b/src/main/scala/gitbucket/core/util/JGitUtil.scala @@ -382,7 +382,7 @@ path: String = ".", baseUrl: Option[String] = None, commitCount: Int = 0, - maxFiles: Int = 100 + maxFiles: Int = 5 ): List[FileInfo] = { Using.resource(new RevWalk(git.getRepository)) { revWalk => val objectId = git.getRepository.resolve(revision) @@ -658,9 +658,13 @@ */ def getLatestCommitFromPaths(git: Git, paths: List[String], revision: String): Map[String, RevCommit] = { val start = getRevCommitFromId(git, git.getRepository.resolve(revision)) - paths.map { path => + paths.flatMap { path => val commit = git.log.add(start).addPath(path).setMaxCount(1).call.iterator.next - (path, commit) + if (commit == null) { + None + } else { + Some((path, commit)) + } }.toMap } diff --git a/src/main/twirl/gitbucket/core/wiki/compare.scala.html b/src/main/twirl/gitbucket/core/wiki/compare.scala.html index e2fe163..cd0de76 100644 --- a/src/main/twirl/gitbucket/core/wiki/compare.scala.html +++ b/src/main/twirl/gitbucket/core/wiki/compare.scala.html @@ -9,32 +9,22 @@ @gitbucket.core.html.main(s"Compare Revisions - ${repository.owner}/${repository.name}", Some(repository)){ @gitbucket.core.helper.html.information(info) @gitbucket.core.html.menu("wiki", repository){ - -
- @gitbucket.core.helper.html.diff(diffs, repository, None, None, false, None, false, false) + }
- @if(isEditable){ -
- @if(pageName.isDefined){ - Revert Changes - } else { - Revert Changes - } -
- } +

Compare Revisions

+ @gitbucket.core.helper.html.diff(diffs, repository, None, None, false, None, false, false) } } diff --git a/src/main/twirl/gitbucket/core/wiki/edit.scala.html b/src/main/twirl/gitbucket/core/wiki/edit.scala.html index e0f95d8..c7ea391 100644 --- a/src/main/twirl/gitbucket/core/wiki/edit.scala.html +++ b/src/main/twirl/gitbucket/core/wiki/edit.scala.html @@ -11,7 +11,7 @@ Delete Page } -

Editing @if(pageName.isEmpty){New Page} else {@pageName}

+

Editing @if(pageName.isEmpty){New Page} else {@pageName}

diff --git a/src/main/twirl/gitbucket/core/wiki/history.scala.html b/src/main/twirl/gitbucket/core/wiki/history.scala.html index 2d18570..5da678b 100644 --- a/src/main/twirl/gitbucket/core/wiki/history.scala.html +++ b/src/main/twirl/gitbucket/core/wiki/history.scala.html @@ -15,7 +15,7 @@ } } -

+

@if(pageName.isEmpty){ History } else { diff --git a/src/main/twirl/gitbucket/core/wiki/pages.scala.html b/src/main/twirl/gitbucket/core/wiki/pages.scala.html index c88b76c..9ffce49 100644 --- a/src/main/twirl/gitbucket/core/wiki/pages.scala.html +++ b/src/main/twirl/gitbucket/core/wiki/pages.scala.html @@ -4,20 +4,17 @@ @import gitbucket.core.view.helpers @gitbucket.core.html.main(s"Pages - ${repository.owner}/${repository.name}", Some(repository)){ @gitbucket.core.html.menu("wiki", repository){ - -