diff --git a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala index b21b03f..4c804d4 100644 --- a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala @@ -308,13 +308,8 @@ val bytes = loader.getCachedBytes val text = new String(bytes, "UTF-8") - if(text.startsWith("version https://git-lfs.github.com/spec/v1")){ - // LFS objects - val attrs = text.split("\n").map { line => - val dim = line.split(" ") - dim(0) -> dim(1) - }.toMap - + val attrs = JGitUtil.getLfsObjects(text) + if(attrs.nonEmpty) { response.setContentLength(attrs("size").toInt) val oid = attrs("oid").split(":")(1) diff --git a/src/main/scala/gitbucket/core/util/JGitUtil.scala b/src/main/scala/gitbucket/core/util/JGitUtil.scala index 786edca..c41722a 100644 --- a/src/main/scala/gitbucket/core/util/JGitUtil.scala +++ b/src/main/scala/gitbucket/core/util/JGitUtil.scala @@ -792,6 +792,18 @@ } } + def getLfsObjects(text: String): Map[String, String] = { + if(text.startsWith("version https://git-lfs.github.com/spec/v1")){ + // LFS objects + text.split("\n").map { line => + val dim = line.split(" ") + dim(0) -> dim(1) + }.toMap + } else { + Map.empty + } + } + def getContentInfo(git: Git, path: String, objectId: ObjectId): ContentInfo = { // Viewer using(git.getRepository.getObjectDatabase){ db =>