|
|
@ -98,10 +98,11 @@ public class SubmoduleWalkTest extends RepositoryTestCase { |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void repositoryWithNoSubmodules() throws IOException { |
|
|
|
public void repositoryWithNoSubmodules() throws IOException { |
|
|
|
SubmoduleWalk gen = SubmoduleWalk.forIndex(db); |
|
|
|
try (SubmoduleWalk gen = SubmoduleWalk.forIndex(db)) { |
|
|
|
assertFalse(gen.next()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
assertNull(gen.getPath()); |
|
|
|
assertNull(gen.getPath()); |
|
|
|
assertEquals(ObjectId.zeroId(), gen.getObjectId()); |
|
|
|
assertEquals(ObjectId.zeroId(), gen.getObjectId()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
@ -129,20 +130,21 @@ public class SubmoduleWalkTest extends RepositoryTestCase { |
|
|
|
}); |
|
|
|
}); |
|
|
|
editor.commit(); |
|
|
|
editor.commit(); |
|
|
|
|
|
|
|
|
|
|
|
SubmoduleWalk gen = SubmoduleWalk.forIndex(db); |
|
|
|
try (SubmoduleWalk gen = SubmoduleWalk.forIndex(db)) { |
|
|
|
assertTrue(gen.next()); |
|
|
|
assertTrue(gen.next()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(id, gen.getObjectId()); |
|
|
|
assertEquals(id, gen.getObjectId()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getModulesPath()); |
|
|
|
assertNull(gen.getModulesPath()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertNull(gen.getModulesUrl()); |
|
|
|
assertNull(gen.getModulesUrl()); |
|
|
|
assertNull(gen.getRepository()); |
|
|
|
assertNull(gen.getRepository()); |
|
|
|
|
|
|
|
assertFalse(gen.next()); |
|
|
|
|
|
|
|
} |
|
|
|
Status status = Git.wrap(db).status().call(); |
|
|
|
Status status = Git.wrap(db).status().call(); |
|
|
|
assertTrue(!status.isClean()); |
|
|
|
assertFalse(status.isClean()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
@ -178,24 +180,25 @@ public class SubmoduleWalkTest extends RepositoryTestCase { |
|
|
|
}); |
|
|
|
}); |
|
|
|
editor.commit(); |
|
|
|
editor.commit(); |
|
|
|
|
|
|
|
|
|
|
|
SubmoduleWalk gen = SubmoduleWalk.forIndex(db); |
|
|
|
try (SubmoduleWalk gen = SubmoduleWalk.forIndex(db)) { |
|
|
|
assertTrue(gen.next()); |
|
|
|
assertTrue(gen.next()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(id, gen.getObjectId()); |
|
|
|
assertEquals(id, gen.getObjectId()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getModulesPath()); |
|
|
|
assertNull(gen.getModulesPath()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertNull(gen.getModulesUrl()); |
|
|
|
assertNull(gen.getModulesUrl()); |
|
|
|
try (Repository subRepo = gen.getRepository()) { |
|
|
|
try (Repository subRepo = gen.getRepository()) { |
|
|
|
assertNotNull(subRepo); |
|
|
|
assertNotNull(subRepo); |
|
|
|
assertEquals(modulesGitDir.getAbsolutePath(), |
|
|
|
assertEquals(modulesGitDir.getAbsolutePath(), |
|
|
|
subRepo.getDirectory().getAbsolutePath()); |
|
|
|
subRepo.getDirectory().getAbsolutePath()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path).getAbsolutePath(), |
|
|
|
assertEquals(new File(db.getWorkTree(), path).getAbsolutePath(), |
|
|
|
subRepo.getWorkTree().getAbsolutePath()); |
|
|
|
subRepo.getWorkTree().getAbsolutePath()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
assertFalse(gen.next()); |
|
|
|
} |
|
|
|
} |
|
|
|
assertFalse(gen.next()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
@ -232,23 +235,24 @@ public class SubmoduleWalkTest extends RepositoryTestCase { |
|
|
|
}); |
|
|
|
}); |
|
|
|
editor.commit(); |
|
|
|
editor.commit(); |
|
|
|
|
|
|
|
|
|
|
|
SubmoduleWalk gen = SubmoduleWalk.forIndex(db); |
|
|
|
try (SubmoduleWalk gen = SubmoduleWalk.forIndex(db)) { |
|
|
|
assertTrue(gen.next()); |
|
|
|
assertTrue(gen.next()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(id, gen.getObjectId()); |
|
|
|
assertEquals(id, gen.getObjectId()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getModulesPath()); |
|
|
|
assertNull(gen.getModulesPath()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertNull(gen.getModulesUrl()); |
|
|
|
assertNull(gen.getModulesUrl()); |
|
|
|
try (Repository subRepo = gen.getRepository()) { |
|
|
|
try (Repository subRepo = gen.getRepository()) { |
|
|
|
assertNotNull(subRepo); |
|
|
|
assertNotNull(subRepo); |
|
|
|
assertEqualsFile(modulesGitDir, subRepo.getDirectory()); |
|
|
|
assertEqualsFile(modulesGitDir, subRepo.getDirectory()); |
|
|
|
assertEqualsFile(new File(db.getWorkTree(), path), |
|
|
|
assertEqualsFile(new File(db.getWorkTree(), path), |
|
|
|
subRepo.getWorkTree()); |
|
|
|
subRepo.getWorkTree()); |
|
|
|
subRepo.close(); |
|
|
|
subRepo.close(); |
|
|
|
assertFalse(gen.next()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -270,18 +274,19 @@ public class SubmoduleWalkTest extends RepositoryTestCase { |
|
|
|
}); |
|
|
|
}); |
|
|
|
editor.commit(); |
|
|
|
editor.commit(); |
|
|
|
|
|
|
|
|
|
|
|
SubmoduleWalk gen = SubmoduleWalk.forIndex(db); |
|
|
|
try (SubmoduleWalk gen = SubmoduleWalk.forIndex(db)) { |
|
|
|
assertTrue(gen.next()); |
|
|
|
assertTrue(gen.next()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(id, gen.getObjectId()); |
|
|
|
assertEquals(id, gen.getObjectId()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getModulesPath()); |
|
|
|
assertNull(gen.getModulesPath()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertNull(gen.getModulesUrl()); |
|
|
|
assertNull(gen.getModulesUrl()); |
|
|
|
assertNull(gen.getRepository()); |
|
|
|
assertNull(gen.getRepository()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
@ -312,12 +317,13 @@ public class SubmoduleWalkTest extends RepositoryTestCase { |
|
|
|
}); |
|
|
|
}); |
|
|
|
editor.commit(); |
|
|
|
editor.commit(); |
|
|
|
|
|
|
|
|
|
|
|
SubmoduleWalk gen = SubmoduleWalk.forIndex(db); |
|
|
|
try (SubmoduleWalk gen = SubmoduleWalk.forIndex(db)) { |
|
|
|
gen.setFilter(PathFilter.create(path1)); |
|
|
|
gen.setFilter(PathFilter.create(path1)); |
|
|
|
assertTrue(gen.next()); |
|
|
|
assertTrue(gen.next()); |
|
|
|
assertEquals(path1, gen.getPath()); |
|
|
|
assertEquals(path1, gen.getPath()); |
|
|
|
assertEquals(id1, gen.getObjectId()); |
|
|
|
assertEquals(id1, gen.getObjectId()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
@ -358,18 +364,19 @@ public class SubmoduleWalkTest extends RepositoryTestCase { |
|
|
|
}); |
|
|
|
}); |
|
|
|
editor.commit(); |
|
|
|
editor.commit(); |
|
|
|
|
|
|
|
|
|
|
|
SubmoduleWalk gen = SubmoduleWalk.forIndex(db); |
|
|
|
try (SubmoduleWalk gen = SubmoduleWalk.forIndex(db)) { |
|
|
|
assertTrue(gen.next()); |
|
|
|
assertTrue(gen.next()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(subId, gen.getObjectId()); |
|
|
|
assertEquals(subId, gen.getObjectId()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertEquals("sub", gen.getModulesPath()); |
|
|
|
assertEquals("sub", gen.getModulesPath()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertEquals("git://example.com/sub", gen.getModulesUrl()); |
|
|
|
assertEquals("git://example.com/sub", gen.getModulesUrl()); |
|
|
|
assertNull(gen.getRepository()); |
|
|
|
assertNull(gen.getRepository()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
@ -397,17 +404,19 @@ public class SubmoduleWalkTest extends RepositoryTestCase { |
|
|
|
}) |
|
|
|
}) |
|
|
|
.create()); |
|
|
|
.create()); |
|
|
|
|
|
|
|
|
|
|
|
SubmoduleWalk gen = SubmoduleWalk.forPath(db, commit.getTree(), "sub"); |
|
|
|
try (SubmoduleWalk gen = SubmoduleWalk.forPath(db, commit.getTree(), |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
"sub")) { |
|
|
|
assertEquals(subId, gen.getObjectId()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertEquals(subId, gen.getObjectId()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertEquals("sub", gen.getModulesPath()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertEquals("sub", gen.getModulesPath()); |
|
|
|
assertEquals("git://example.com/sub", gen.getModulesUrl()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertNull(gen.getRepository()); |
|
|
|
assertEquals("git://example.com/sub", gen.getModulesUrl()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
assertNull(gen.getRepository()); |
|
|
|
|
|
|
|
assertFalse(gen.next()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
@ -437,17 +446,18 @@ public class SubmoduleWalkTest extends RepositoryTestCase { |
|
|
|
|
|
|
|
|
|
|
|
final CanonicalTreeParser p = new CanonicalTreeParser(); |
|
|
|
final CanonicalTreeParser p = new CanonicalTreeParser(); |
|
|
|
p.reset(testDb.getRevWalk().getObjectReader(), commit.getTree()); |
|
|
|
p.reset(testDb.getRevWalk().getObjectReader(), commit.getTree()); |
|
|
|
SubmoduleWalk gen = SubmoduleWalk.forPath(db, p, "sub"); |
|
|
|
try (SubmoduleWalk gen = SubmoduleWalk.forPath(db, p, "sub")) { |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(subId, gen.getObjectId()); |
|
|
|
assertEquals(subId, gen.getObjectId()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertEquals("sub", gen.getModulesPath()); |
|
|
|
assertEquals("sub", gen.getModulesPath()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertEquals("git://example.com/sub", gen.getModulesUrl()); |
|
|
|
assertEquals("git://example.com/sub", gen.getModulesUrl()); |
|
|
|
assertNull(gen.getRepository()); |
|
|
|
assertNull(gen.getRepository()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
@ -477,16 +487,17 @@ public class SubmoduleWalkTest extends RepositoryTestCase { |
|
|
|
|
|
|
|
|
|
|
|
final CanonicalTreeParser p = new CanonicalTreeParser(); |
|
|
|
final CanonicalTreeParser p = new CanonicalTreeParser(); |
|
|
|
p.reset(testDb.getRevWalk().getObjectReader(), commit.getTree()); |
|
|
|
p.reset(testDb.getRevWalk().getObjectReader(), commit.getTree()); |
|
|
|
SubmoduleWalk gen = SubmoduleWalk.forPath(db, p, "sub"); |
|
|
|
try (SubmoduleWalk gen = SubmoduleWalk.forPath(db, p, "sub")) { |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(path, gen.getPath()); |
|
|
|
assertEquals(subId, gen.getObjectId()); |
|
|
|
assertEquals(subId, gen.getObjectId()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUpdate()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertNull(gen.getConfigUrl()); |
|
|
|
assertEquals("sub", gen.getModulesPath()); |
|
|
|
assertEquals("sub", gen.getModulesPath()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertNull(gen.getModulesUpdate()); |
|
|
|
assertEquals("git://example.com/sub", gen.getModulesUrl()); |
|
|
|
assertEquals("git://example.com/sub", gen.getModulesUrl()); |
|
|
|
assertNull(gen.getRepository()); |
|
|
|
assertNull(gen.getRepository()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
assertFalse(gen.next()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|