diff --git a/src/main/scala/util/FileTypeUtil.scala b/src/main/scala/util/FileTypeUtil.scala index a3e185f..e3e8f5f 100644 --- a/src/main/scala/util/FileTypeUtil.scala +++ b/src/main/scala/util/FileTypeUtil.scala @@ -18,5 +18,7 @@ def isImage(name: String): Boolean = getMimeType(name).startsWith("image/") def isLarge(size: Long): Boolean = (size > 1024 * 1000) + + def isText(content: Array[Byte]): Boolean = !content.contains(0) } \ No newline at end of file diff --git a/src/main/scala/util/JGitUtil.scala b/src/main/scala/util/JGitUtil.scala index 95beef6..ff982c6 100644 --- a/src/main/scala/util/JGitUtil.scala +++ b/src/main/scala/util/JGitUtil.scala @@ -409,8 +409,8 @@ DiffInfo(diff.getChangeType, diff.getOldPath, diff.getNewPath, None, None) } else { DiffInfo(diff.getChangeType, diff.getOldPath, diff.getNewPath, - JGitUtil.getContent(git, diff.getOldId.toObjectId, false).map(new String(_, "UTF-8")), - JGitUtil.getContent(git, diff.getNewId.toObjectId, false).map(new String(_, "UTF-8"))) + JGitUtil.getContent(git, diff.getOldId.toObjectId, false).filter(FileTypeUtil.isText).map(new String(_, "UTF-8")), + JGitUtil.getContent(git, diff.getNewId.toObjectId, false).filter(FileTypeUtil.isText).map(new String(_, "UTF-8"))) } }.toList } else { @@ -422,7 +422,8 @@ buffer.append((if(!fetchContent){ DiffInfo(ChangeType.ADD, null, walk.getPathString, None, None) } else { - DiffInfo(ChangeType.ADD, null, walk.getPathString, None, JGitUtil.getContent(git, walk.getObjectId(0), false).map(new String(_, "UTF-8"))) + DiffInfo(ChangeType.ADD, null, walk.getPathString, None, + JGitUtil.getContent(git, walk.getObjectId(0), false).filter(FileTypeUtil.isText).map(new String(_, "UTF-8"))) })) } walk.release diff --git a/src/main/twirl/diff.scala.html b/src/main/twirl/diff.scala.html index 018cd4e..65669b4 100644 --- a/src/main/twirl/diff.scala.html +++ b/src/main/twirl/diff.scala.html @@ -25,13 +25,9 @@