Merge "Added check for null on DirCacheEntry in checkoutEntry method"
This commit is contained in:
commit
086f474054
|
@ -13,6 +13,7 @@
|
|||
package org.eclipse.jgit.lib;
|
||||
|
||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
import static org.eclipse.jgit.dircache.DirCacheCheckout.checkoutEntry;
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
|
@ -47,6 +48,7 @@
|
|||
import org.eclipse.jgit.errors.NoWorkTreeException;
|
||||
import org.eclipse.jgit.events.ChangeRecorder;
|
||||
import org.eclipse.jgit.events.ListenerHandle;
|
||||
import org.eclipse.jgit.internal.storage.dfs.InMemoryRepository;
|
||||
import org.eclipse.jgit.junit.RepositoryTestCase;
|
||||
import org.eclipse.jgit.junit.TestRepository;
|
||||
import org.eclipse.jgit.junit.TestRepository.BranchBuilder;
|
||||
|
@ -2146,4 +2148,11 @@ public void assertWorkDir(Map<String, String> i)
|
|||
assertEquals("WorkDir has not the right size.", i.size(), nrFiles);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnAndNotThrowNPEWhenCheckoutEntryIsCalledWithNullEntry() throws Exception{
|
||||
checkoutEntry(new InMemoryRepository(null), null, null, true, new CheckoutMetadata(null, null));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1214,9 +1214,10 @@ private void conflict(String path, DirCacheEntry e, AbstractTreeIterator h, Abst
|
|||
|
||||
private void keep(String path, DirCacheEntry e, WorkingTreeIterator f)
|
||||
throws IOException {
|
||||
if (e != null && !FileMode.TREE.equals(e.getFileMode()))
|
||||
if (e != null && !FileMode.TREE.equals(e.getFileMode())) {
|
||||
builder.add(e);
|
||||
if (force) {
|
||||
}
|
||||
if (e != null && force) {
|
||||
if (f == null || f.isModified(e, true, walk.getObjectReader())) {
|
||||
kept.add(path);
|
||||
checkoutEntry(repo, e, walk.getObjectReader(), false,
|
||||
|
@ -1447,6 +1448,9 @@ public static void checkoutEntry(Repository repo, DirCacheEntry entry,
|
|||
public static void checkoutEntry(Repository repo, DirCacheEntry entry,
|
||||
ObjectReader or, boolean deleteRecursive,
|
||||
CheckoutMetadata checkoutMetadata) throws IOException {
|
||||
if (entry == null) {
|
||||
return;
|
||||
}
|
||||
if (checkoutMetadata == null)
|
||||
checkoutMetadata = CheckoutMetadata.EMPTY;
|
||||
ObjectLoader ol = or.open(entry.getObjectId());
|
||||
|
|
Loading…
Reference in New Issue