Fix NPE when WorkingTreeIterator does not have a repository set
It's strange that we have that member since it is not so clear when it it set or not. Change-Id: I53903a264f46866d249901a3cd9f9295028aa6bd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
parent
2670fd427c
commit
7b01a53692
|
@ -114,7 +114,8 @@ public void apply(DirCacheEntry ent) {
|
||||||
assertEquals("link", dci.getEntryPathString());
|
assertEquals("link", dci.getEntryPathString());
|
||||||
|
|
||||||
// test
|
// test
|
||||||
assertFalse(fti.isModified(dci.getDirCacheEntry(), true));
|
assertFalse(fti.isModified(dci.getDirCacheEntry(), true,
|
||||||
|
db.newObjectReader()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -195,6 +196,7 @@ public void apply(DirCacheEntry ent) {
|
||||||
assertEquals("link", dci.getEntryPathString());
|
assertEquals("link", dci.getEntryPathString());
|
||||||
|
|
||||||
// test
|
// test
|
||||||
assertTrue(fti.isModified(dci.getDirCacheEntry(), true));
|
assertTrue(fti.isModified(dci.getDirCacheEntry(), true,
|
||||||
|
db.newObjectReader()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -922,7 +922,8 @@ private boolean contentCheck(DirCacheEntry entry, ObjectReader reader)
|
||||||
} else {
|
} else {
|
||||||
if (mode == FileMode.SYMLINK.getBits())
|
if (mode == FileMode.SYMLINK.getBits())
|
||||||
return !new File(readContentAsNormalizedString(current()))
|
return !new File(readContentAsNormalizedString(current()))
|
||||||
.equals(new File((readContentAsNormalizedString(entry))));
|
.equals(new File((readContentAsNormalizedString(entry,
|
||||||
|
reader))));
|
||||||
// Content differs: that's a real change, perhaps
|
// Content differs: that's a real change, perhaps
|
||||||
if (reader == null) // deprecated use, do no further checks
|
if (reader == null) // deprecated use, do no further checks
|
||||||
return true;
|
return true;
|
||||||
|
@ -971,9 +972,9 @@ private boolean contentCheck(DirCacheEntry entry, ObjectReader reader)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String readContentAsNormalizedString(DirCacheEntry entry)
|
private static String readContentAsNormalizedString(DirCacheEntry entry,
|
||||||
throws MissingObjectException, IOException {
|
ObjectReader reader) throws MissingObjectException, IOException {
|
||||||
ObjectLoader open = repository.open(entry.getObjectId());
|
ObjectLoader open = reader.open(entry.getObjectId());
|
||||||
byte[] cachedBytes = open.getCachedBytes();
|
byte[] cachedBytes = open.getCachedBytes();
|
||||||
return FS.detect().normalize(RawParseUtils.decode(cachedBytes));
|
return FS.detect().normalize(RawParseUtils.decode(cachedBytes));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue