Show diff for only text files.

This commit is contained in:
takezoe
2013-06-20 14:39:21 +09:00
parent 1a9693e524
commit cd5700ab20
3 changed files with 9 additions and 10 deletions

View File

@@ -19,4 +19,6 @@ object FileTypeUtil {
def isLarge(size: Long): Boolean = (size > 1024 * 1000)
def isText(content: Array[Byte]): Boolean = !content.contains(0)
}

View File

@@ -409,8 +409,8 @@ object JGitUtil {
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 @@ object JGitUtil {
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

View File

@@ -25,13 +25,9 @@
<tr>
<td>
@if(diff.newContent != None || diff.oldContent != None){
@if(diffs.size > 10 && diff.changeType != ChangeType.MODIFY){
@diff.changeType
} else {
<div id="diffText-@i"></div>
<textarea id="newText-@i" style="display: none;">@diff.newContent.getOrElse("")</textarea>
<textarea id="oldText-@i" style="display: none;">@diff.oldContent.getOrElse("")</textarea>
}
} else {
Not supported
}