aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityIndex.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityIndex.java')
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityIndex.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityIndex.java b/org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityIndex.java
index fb6e5df589..661369b86a 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityIndex.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityIndex.java
@@ -102,6 +102,15 @@ public class SimilarityIndex {
idGrowAt = growAt(idHashBits);
}
+ static boolean isBinary(ObjectLoader obj) throws IOException {
+ if (obj.isLarge()) {
+ try (ObjectStream in1 = obj.openStream()) {
+ return RawText.isBinary(in1);
+ }
+ }
+ return RawText.isBinary(obj.getCachedBytes());
+ }
+
void hash(ObjectLoader obj) throws MissingObjectException, IOException,
TableFullException {
if (obj.isLarge()) {
@@ -115,9 +124,7 @@ public class SimilarityIndex {
private void hashLargeObject(ObjectLoader obj) throws IOException,
TableFullException {
boolean text;
- try (ObjectStream in1 = obj.openStream()) {
- text = !RawText.isBinary(in1);
- }
+ text = !isBinary(obj);
try (ObjectStream in2 = obj.openStream()) {
hash(in2, in2.getSize(), text);