Merge "Fix tests on windows by closing repos" into stable-3.6
This commit is contained in:
commit
ca7c928eae
|
@ -441,10 +441,10 @@ public void testCloneRepositoryWithNestedSubmodules() throws Exception {
|
|||
SubmoduleWalk walk = SubmoduleWalk.forIndex(git2.getRepository());
|
||||
assertTrue(walk.next());
|
||||
Repository clonedSub1 = walk.getRepository();
|
||||
addRepoToClose(clonedSub1);
|
||||
assertNotNull(clonedSub1);
|
||||
status = new SubmoduleStatusCommand(clonedSub1);
|
||||
statuses = status.call();
|
||||
clonedSub1.close();
|
||||
pathStatus = statuses.get(path);
|
||||
assertNotNull(pathStatus);
|
||||
assertEquals(SubmoduleStatusType.INITIALIZED, pathStatus.getType());
|
||||
|
|
|
@ -205,8 +205,8 @@ public void commitNewSubmodule() throws Exception {
|
|||
assertEquals(path, generator.getModulesPath());
|
||||
assertEquals(uri, generator.getConfigUrl());
|
||||
Repository subModRepo = generator.getRepository();
|
||||
addRepoToClose(subModRepo);
|
||||
assertNotNull(subModRepo);
|
||||
subModRepo.close();
|
||||
assertEquals(commit, repo.resolve(Constants.HEAD));
|
||||
|
||||
RevCommit submoduleCommit = git.commit().setMessage("submodule add")
|
||||
|
@ -253,8 +253,8 @@ public void commitSubmoduleUpdate() throws Exception {
|
|||
assertEquals(path, generator.getModulesPath());
|
||||
assertEquals(uri, generator.getConfigUrl());
|
||||
Repository subModRepo = generator.getRepository();
|
||||
addRepoToClose(subModRepo);
|
||||
assertNotNull(subModRepo);
|
||||
subModRepo.close();
|
||||
assertEquals(commit2, repo.resolve(Constants.HEAD));
|
||||
|
||||
RevCommit submoduleAddCommit = git.commit().setMessage("submodule add")
|
||||
|
|
|
@ -90,24 +90,28 @@ public void setUp() throws Exception {
|
|||
JGitTestUtil.writeTrashFile(defaultDb, "hello.txt", "master world");
|
||||
git.add().addFilepattern("hello.txt").call();
|
||||
git.commit().setMessage("Second commit").call();
|
||||
addRepoToClose(defaultDb);
|
||||
|
||||
notDefaultDb = createWorkRepository();
|
||||
git = new Git(notDefaultDb);
|
||||
JGitTestUtil.writeTrashFile(notDefaultDb, "world.txt", "hello");
|
||||
git.add().addFilepattern("world.txt").call();
|
||||
git.commit().setMessage("Initial commit").call();
|
||||
addRepoToClose(notDefaultDb);
|
||||
|
||||
groupADb = createWorkRepository();
|
||||
git = new Git(groupADb);
|
||||
JGitTestUtil.writeTrashFile(groupADb, "a.txt", "world");
|
||||
git.add().addFilepattern("a.txt").call();
|
||||
git.commit().setMessage("Initial commit").call();
|
||||
addRepoToClose(groupADb);
|
||||
|
||||
groupBDb = createWorkRepository();
|
||||
git = new Git(groupBDb);
|
||||
JGitTestUtil.writeTrashFile(groupBDb, "b.txt", "world");
|
||||
git.add().addFilepattern("b.txt").call();
|
||||
git.commit().setMessage("Initial commit").call();
|
||||
addRepoToClose(groupBDb);
|
||||
|
||||
resolveRelativeUris();
|
||||
}
|
||||
|
@ -239,35 +243,32 @@ public void testRepoManifestCopyFile() throws Exception {
|
|||
public void testBareRepo() throws Exception {
|
||||
Repository remoteDb = createBareRepository();
|
||||
Repository tempDb = createWorkRepository();
|
||||
try {
|
||||
StringBuilder xmlContent = new StringBuilder();
|
||||
xmlContent.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
||||
xmlContent
|
||||
.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
||||
.append("<manifest>")
|
||||
.append("<remote name=\"remote1\" fetch=\".\" />")
|
||||
.append("<default revision=\"master\" remote=\"remote1\" />")
|
||||
.append("<project path=\"foo\" name=\"")
|
||||
.append(defaultUri)
|
||||
.append("\" />")
|
||||
.append("</manifest>");
|
||||
JGitTestUtil.writeTrashFile(
|
||||
tempDb, "manifest.xml", xmlContent.toString());
|
||||
.append("<project path=\"foo\" name=\"").append(defaultUri)
|
||||
.append("\" />").append("</manifest>");
|
||||
JGitTestUtil.writeTrashFile(tempDb, "manifest.xml",
|
||||
xmlContent.toString());
|
||||
RepoCommand command = new RepoCommand(remoteDb);
|
||||
command
|
||||
.setPath(tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
|
||||
.setURI(rootUri)
|
||||
.call();
|
||||
command.setPath(
|
||||
tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
|
||||
.setURI(rootUri).call();
|
||||
// Clone it
|
||||
File directory = createTempDirectory("testBareRepo");
|
||||
Repository localDb = Git
|
||||
.cloneRepository()
|
||||
.setDirectory(directory)
|
||||
.setURI(remoteDb.getDirectory().toURI().toString())
|
||||
.call()
|
||||
Repository localDb = Git.cloneRepository().setDirectory(directory)
|
||||
.setURI(remoteDb.getDirectory().toURI().toString()).call()
|
||||
.getRepository();
|
||||
// The .gitmodules file should exist
|
||||
File gitmodules = new File(localDb.getWorkTree(), ".gitmodules");
|
||||
assertTrue("The .gitmodules file should exist", gitmodules.exists());
|
||||
// The first line of .gitmodules file should be expected
|
||||
BufferedReader reader = new BufferedReader(new FileReader(gitmodules));
|
||||
BufferedReader reader = new BufferedReader(new FileReader(
|
||||
gitmodules));
|
||||
String content = reader.readLine();
|
||||
reader.close();
|
||||
assertEquals(
|
||||
|
@ -275,9 +276,14 @@ public void testBareRepo() throws Exception {
|
|||
"[submodule \"foo\"]", content);
|
||||
// The gitlink should be the same as remote head sha1
|
||||
String gitlink = localDb.resolve(Constants.HEAD + ":foo").name();
|
||||
localDb.close();
|
||||
String remote = defaultDb.resolve(Constants.HEAD).name();
|
||||
assertEquals("The gitlink should be the same as remote head",
|
||||
remote, gitlink);
|
||||
} finally {
|
||||
tempDb.close();
|
||||
remoteDb.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -362,72 +368,66 @@ public void testRevisionTag() throws Exception {
|
|||
public void testRevisionBare() throws Exception {
|
||||
Repository remoteDb = createBareRepository();
|
||||
Repository tempDb = createWorkRepository();
|
||||
try {
|
||||
StringBuilder xmlContent = new StringBuilder();
|
||||
xmlContent.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
||||
.append("<manifest>")
|
||||
.append("<remote name=\"remote1\" fetch=\".\" />")
|
||||
.append("<default revision=\"")
|
||||
.append(BRANCH)
|
||||
.append("<default revision=\"").append(BRANCH)
|
||||
.append("\" remote=\"remote1\" />")
|
||||
.append("<project path=\"foo\" name=\"")
|
||||
.append(defaultUri)
|
||||
.append("\" />")
|
||||
.append("</manifest>");
|
||||
JGitTestUtil.writeTrashFile(
|
||||
tempDb, "manifest.xml", xmlContent.toString());
|
||||
.append("<project path=\"foo\" name=\"").append(defaultUri)
|
||||
.append("\" />").append("</manifest>");
|
||||
JGitTestUtil.writeTrashFile(tempDb, "manifest.xml",
|
||||
xmlContent.toString());
|
||||
RepoCommand command = new RepoCommand(remoteDb);
|
||||
command
|
||||
.setPath(tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
|
||||
.setURI(rootUri)
|
||||
.call();
|
||||
command.setPath(
|
||||
tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
|
||||
.setURI(rootUri).call();
|
||||
// Clone it
|
||||
File directory = createTempDirectory("testRevisionBare");
|
||||
Repository localDb = Git
|
||||
.cloneRepository()
|
||||
.setDirectory(directory)
|
||||
.setURI(remoteDb.getDirectory().toURI().toString())
|
||||
.call()
|
||||
Repository localDb = Git.cloneRepository().setDirectory(directory)
|
||||
.setURI(remoteDb.getDirectory().toURI().toString()).call()
|
||||
.getRepository();
|
||||
// The gitlink should be the same as oldCommitId
|
||||
String gitlink = localDb.resolve(Constants.HEAD + ":foo").name();
|
||||
localDb.close();
|
||||
assertEquals("The gitlink is same as remote head",
|
||||
oldCommitId.name(), gitlink);
|
||||
} finally {
|
||||
tempDb.close();
|
||||
remoteDb.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCopyFileBare() throws Exception {
|
||||
Repository remoteDb = createBareRepository();
|
||||
Repository tempDb = createWorkRepository();
|
||||
try {
|
||||
StringBuilder xmlContent = new StringBuilder();
|
||||
xmlContent.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
||||
xmlContent
|
||||
.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
||||
.append("<manifest>")
|
||||
.append("<remote name=\"remote1\" fetch=\".\" />")
|
||||
.append("<default revision=\"master\" remote=\"remote1\" />")
|
||||
.append("<project path=\"foo\" name=\"")
|
||||
.append(defaultUri)
|
||||
.append("\" revision=\"")
|
||||
.append(BRANCH)
|
||||
.append("\" >")
|
||||
.append("<project path=\"foo\" name=\"").append(defaultUri)
|
||||
.append("\" revision=\"").append(BRANCH).append("\" >")
|
||||
.append("<copyfile src=\"hello.txt\" dest=\"Hello\" />")
|
||||
.append("</project>")
|
||||
.append("</manifest>");
|
||||
JGitTestUtil.writeTrashFile(
|
||||
tempDb, "manifest.xml", xmlContent.toString());
|
||||
.append("</project>").append("</manifest>");
|
||||
JGitTestUtil.writeTrashFile(tempDb, "manifest.xml",
|
||||
xmlContent.toString());
|
||||
RepoCommand command = new RepoCommand(remoteDb);
|
||||
command
|
||||
.setPath(tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
|
||||
.setURI(rootUri)
|
||||
.call();
|
||||
command.setPath(
|
||||
tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
|
||||
.setURI(rootUri).call();
|
||||
// Clone it
|
||||
File directory = createTempDirectory("testCopyFileBare");
|
||||
Repository localDb = Git
|
||||
.cloneRepository()
|
||||
.setDirectory(directory)
|
||||
.setURI(remoteDb.getDirectory().toURI().toString())
|
||||
.call()
|
||||
Repository localDb = Git.cloneRepository().setDirectory(directory)
|
||||
.setURI(remoteDb.getDirectory().toURI().toString()).call()
|
||||
.getRepository();
|
||||
// The Hello file should exist
|
||||
File hello = new File(localDb.getWorkTree(), "Hello");
|
||||
localDb.close();
|
||||
assertTrue("The Hello file should exist", hello.exists());
|
||||
// The content of Hello file should be expected
|
||||
BufferedReader reader = new BufferedReader(new FileReader(hello));
|
||||
|
@ -435,32 +435,35 @@ public void testCopyFileBare() throws Exception {
|
|||
reader.close();
|
||||
assertEquals("The Hello file should have expected content",
|
||||
"branch world", content);
|
||||
} finally {
|
||||
tempDb.close();
|
||||
remoteDb.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testReplaceManifestBare() throws Exception {
|
||||
Repository remoteDb = createBareRepository();
|
||||
Repository tempDb = createWorkRepository();
|
||||
try {
|
||||
StringBuilder xmlContent = new StringBuilder();
|
||||
xmlContent.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
||||
xmlContent
|
||||
.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
||||
.append("<manifest>")
|
||||
.append("<remote name=\"remote1\" fetch=\".\" />")
|
||||
.append("<default revision=\"master\" remote=\"remote1\" />")
|
||||
.append("<project path=\"foo\" name=\"")
|
||||
.append(defaultUri)
|
||||
.append("\" revision=\"")
|
||||
.append(BRANCH)
|
||||
.append("\" >")
|
||||
.append("<project path=\"foo\" name=\"").append(defaultUri)
|
||||
.append("\" revision=\"").append(BRANCH).append("\" >")
|
||||
.append("<copyfile src=\"hello.txt\" dest=\"Hello\" />")
|
||||
.append("</project>")
|
||||
.append("</manifest>");
|
||||
JGitTestUtil.writeTrashFile(tempDb, "old.xml", xmlContent.toString());
|
||||
.append("</project>").append("</manifest>");
|
||||
JGitTestUtil.writeTrashFile(tempDb, "old.xml",
|
||||
xmlContent.toString());
|
||||
RepoCommand command = new RepoCommand(remoteDb);
|
||||
command.setPath(tempDb.getWorkTree().getAbsolutePath() + "/old.xml")
|
||||
.setURI(rootUri)
|
||||
.call();
|
||||
.setURI(rootUri).call();
|
||||
xmlContent = new StringBuilder();
|
||||
xmlContent.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
||||
xmlContent
|
||||
.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
||||
.append("<manifest>")
|
||||
.append("<remote name=\"remote1\" fetch=\".\" />")
|
||||
.append("<default revision=\"master\" remote=\"remote1\" />")
|
||||
|
@ -470,20 +473,16 @@ public void testReplaceManifestBare() throws Exception {
|
|||
.append(BRANCH)
|
||||
.append("\" >")
|
||||
.append("<copyfile src=\"hello.txt\" dest=\"Hello.txt\" />")
|
||||
.append("</project>")
|
||||
.append("</manifest>");
|
||||
JGitTestUtil.writeTrashFile(tempDb, "new.xml", xmlContent.toString());
|
||||
.append("</project>").append("</manifest>");
|
||||
JGitTestUtil.writeTrashFile(tempDb, "new.xml",
|
||||
xmlContent.toString());
|
||||
command = new RepoCommand(remoteDb);
|
||||
command.setPath(tempDb.getWorkTree().getAbsolutePath() + "/new.xml")
|
||||
.setURI(rootUri)
|
||||
.call();
|
||||
.setURI(rootUri).call();
|
||||
// Clone it
|
||||
File directory = createTempDirectory("testReplaceManifestBare");
|
||||
Repository localDb = Git
|
||||
.cloneRepository()
|
||||
.setDirectory(directory)
|
||||
.setURI(remoteDb.getDirectory().toURI().toString())
|
||||
.call()
|
||||
Repository localDb = Git.cloneRepository().setDirectory(directory)
|
||||
.setURI(remoteDb.getDirectory().toURI().toString()).call()
|
||||
.getRepository();
|
||||
// The Hello file should not exist
|
||||
File hello = new File(localDb.getWorkTree(), "Hello");
|
||||
|
@ -491,11 +490,14 @@ public void testReplaceManifestBare() throws Exception {
|
|||
// The Hello.txt file should exist
|
||||
File hellotxt = new File(localDb.getWorkTree(), "Hello.txt");
|
||||
assertTrue("The Hello.txt file should exist", hellotxt.exists());
|
||||
// The .gitmodules file should have 'submodule "bar"' and shouldn't have
|
||||
// The .gitmodules file should have 'submodule "bar"' and shouldn't
|
||||
// have
|
||||
// 'submodule "foo"' lines.
|
||||
File dotmodules = new File(localDb.getWorkTree(),
|
||||
Constants.DOT_GIT_MODULES);
|
||||
BufferedReader reader = new BufferedReader(new FileReader(dotmodules));
|
||||
localDb.close();
|
||||
BufferedReader reader = new BufferedReader(new FileReader(
|
||||
dotmodules));
|
||||
boolean foo = false;
|
||||
boolean bar = false;
|
||||
while (true) {
|
||||
|
@ -510,47 +512,47 @@ public void testReplaceManifestBare() throws Exception {
|
|||
reader.close();
|
||||
assertTrue("The bar submodule should exist", bar);
|
||||
assertFalse("The foo submodule shouldn't exist", foo);
|
||||
} finally {
|
||||
tempDb.close();
|
||||
remoteDb.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveOverlappingBare() throws Exception {
|
||||
Repository remoteDb = createBareRepository();
|
||||
Repository tempDb = createWorkRepository();
|
||||
try {
|
||||
StringBuilder xmlContent = new StringBuilder();
|
||||
xmlContent.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
||||
xmlContent
|
||||
.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
||||
.append("<manifest>")
|
||||
.append("<remote name=\"remote1\" fetch=\".\" />")
|
||||
.append("<default revision=\"master\" remote=\"remote1\" />")
|
||||
.append("<project path=\"foo/bar\" name=\"")
|
||||
.append(groupBUri)
|
||||
.append("\" />")
|
||||
.append("<project path=\"a\" name=\"")
|
||||
.append(groupAUri)
|
||||
.append("\" />")
|
||||
.append("<project path=\"foo\" name=\"")
|
||||
.append(defaultUri)
|
||||
.append("\" />")
|
||||
.append("</manifest>");
|
||||
JGitTestUtil.writeTrashFile(
|
||||
tempDb, "manifest.xml", xmlContent.toString());
|
||||
.append(groupBUri).append("\" />")
|
||||
.append("<project path=\"a\" name=\"").append(groupAUri)
|
||||
.append("\" />").append("<project path=\"foo\" name=\"")
|
||||
.append(defaultUri).append("\" />").append("</manifest>");
|
||||
JGitTestUtil.writeTrashFile(tempDb, "manifest.xml",
|
||||
xmlContent.toString());
|
||||
RepoCommand command = new RepoCommand(remoteDb);
|
||||
command
|
||||
.setPath(tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
|
||||
.setURI(rootUri)
|
||||
.call();
|
||||
command.setPath(
|
||||
tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
|
||||
.setURI(rootUri).call();
|
||||
// Clone it
|
||||
File directory = createTempDirectory("testRemoveOverlappingBare");
|
||||
Repository localDb = Git
|
||||
.cloneRepository()
|
||||
.setDirectory(directory)
|
||||
.setURI(remoteDb.getDirectory().toURI().toString())
|
||||
.call()
|
||||
Repository localDb = Git.cloneRepository().setDirectory(directory)
|
||||
.setURI(remoteDb.getDirectory().toURI().toString()).call()
|
||||
.getRepository();
|
||||
// The .gitmodules file should have 'submodule "foo"' and shouldn't have
|
||||
// The .gitmodules file should have 'submodule "foo"' and shouldn't
|
||||
// have
|
||||
// 'submodule "foo/bar"' lines.
|
||||
File dotmodules = new File(localDb.getWorkTree(),
|
||||
Constants.DOT_GIT_MODULES);
|
||||
BufferedReader reader = new BufferedReader(new FileReader(dotmodules));
|
||||
localDb.close();
|
||||
BufferedReader reader = new BufferedReader(new FileReader(
|
||||
dotmodules));
|
||||
boolean foo = false;
|
||||
boolean foobar = false;
|
||||
boolean a = false;
|
||||
|
@ -569,6 +571,10 @@ public void testRemoveOverlappingBare() throws Exception {
|
|||
assertTrue("The foo submodule should exist", foo);
|
||||
assertFalse("The foo/bar submodule shouldn't exist", foobar);
|
||||
assertTrue("The a submodule should exist", a);
|
||||
} finally {
|
||||
tempDb.close();
|
||||
remoteDb.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -90,7 +90,9 @@ public void setUp() throws Exception {
|
|||
.setPath("submodule")
|
||||
.setURI(submoduleStandalone.getDirectory().toURI().toString())
|
||||
.call();
|
||||
submoduleStandalone.close();
|
||||
submodule_trash = submodule_db.getWorkTree();
|
||||
addRepoToClose(submodule_db);
|
||||
writeTrashFile("fileInRoot", "root");
|
||||
Git rootGit = Git.wrap(db);
|
||||
rootGit.add().addFilepattern("fileInRoot").call();
|
||||
|
|
|
@ -131,7 +131,8 @@ public void addSubmodule() throws Exception {
|
|||
command.setURI(uri);
|
||||
Repository repo = command.call();
|
||||
assertNotNull(repo);
|
||||
addRepoToClose(repo);
|
||||
ObjectId subCommit = repo.resolve(Constants.HEAD);
|
||||
repo.close();
|
||||
|
||||
SubmoduleWalk generator = SubmoduleWalk.forIndex(db);
|
||||
assertTrue(generator.next());
|
||||
|
@ -141,9 +142,9 @@ public void addSubmodule() throws Exception {
|
|||
assertEquals(path, generator.getModulesPath());
|
||||
assertEquals(uri, generator.getConfigUrl());
|
||||
Repository subModRepo = generator.getRepository();
|
||||
addRepoToClose(subModRepo);
|
||||
assertNotNull(subModRepo);
|
||||
assertEquals(commit, repo.resolve(Constants.HEAD));
|
||||
assertEquals(subCommit, commit);
|
||||
subModRepo.close();
|
||||
|
||||
Status status = Git.wrap(db).status().call();
|
||||
assertTrue(status.getAdded().contains(Constants.DOT_GIT_MODULES));
|
||||
|
@ -206,7 +207,6 @@ public void addSubmoduleWithRelativeUri() throws Exception {
|
|||
fullUri = fullUri.replace('\\', '/');
|
||||
assertEquals(fullUri, generator.getConfigUrl());
|
||||
Repository subModRepo = generator.getRepository();
|
||||
addRepoToClose(subModRepo);
|
||||
assertNotNull(subModRepo);
|
||||
assertEquals(
|
||||
fullUri,
|
||||
|
@ -215,6 +215,7 @@ public void addSubmoduleWithRelativeUri() throws Exception {
|
|||
.getString(ConfigConstants.CONFIG_REMOTE_SECTION,
|
||||
Constants.DEFAULT_REMOTE_NAME,
|
||||
ConfigConstants.CONFIG_KEY_URL));
|
||||
subModRepo.close();
|
||||
assertEquals(commit, repo.resolve(Constants.HEAD));
|
||||
|
||||
Status status = Git.wrap(db).status().call();
|
||||
|
|
|
@ -135,8 +135,8 @@ public void apply(DirCacheEntry ent) {
|
|||
assertTrue(generator.next());
|
||||
assertEquals(url, generator.getConfigUrl());
|
||||
Repository subModRepository = generator.getRepository();
|
||||
addRepoToClose(subModRepository);
|
||||
StoredConfig submoduleConfig = subModRepository.getConfig();
|
||||
subModRepository.close();
|
||||
assertEquals(url, submoduleConfig.getString(
|
||||
ConfigConstants.CONFIG_REMOTE_SECTION,
|
||||
Constants.DEFAULT_REMOTE_NAME, ConfigConstants.CONFIG_KEY_URL));
|
||||
|
@ -207,8 +207,8 @@ public void apply(DirCacheEntry ent) {
|
|||
assertTrue(generator.next());
|
||||
assertEquals("git://server/sub.git", generator.getConfigUrl());
|
||||
Repository subModRepository1 = generator.getRepository();
|
||||
addRepoToClose(subModRepository1);
|
||||
StoredConfig submoduleConfig = subModRepository1.getConfig();
|
||||
subModRepository1.close();
|
||||
assertEquals("git://server/sub.git", submoduleConfig.getString(
|
||||
ConfigConstants.CONFIG_REMOTE_SECTION,
|
||||
Constants.DEFAULT_REMOTE_NAME, ConfigConstants.CONFIG_KEY_URL));
|
||||
|
|
|
@ -121,9 +121,9 @@ public void apply(DirCacheEntry ent) {
|
|||
SubmoduleWalk generator = SubmoduleWalk.forIndex(db);
|
||||
assertTrue(generator.next());
|
||||
Repository subRepo = generator.getRepository();
|
||||
addRepoToClose(subRepo);
|
||||
assertNotNull(subRepo);
|
||||
assertEquals(commit, subRepo.resolve(Constants.HEAD));
|
||||
subRepo.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -175,12 +175,12 @@ public void apply(DirCacheEntry ent) {
|
|||
assertNull(gen.getModulesUpdate());
|
||||
assertNull(gen.getModulesUrl());
|
||||
Repository subRepo = gen.getRepository();
|
||||
addRepoToClose(subRepo);
|
||||
assertNotNull(subRepo);
|
||||
assertEquals(modulesGitDir.getAbsolutePath(),
|
||||
subRepo.getDirectory().getAbsolutePath());
|
||||
assertEquals(new File(db.getWorkTree(), path).getAbsolutePath(),
|
||||
subRepo.getWorkTree().getAbsolutePath());
|
||||
subRepo.close();
|
||||
assertFalse(gen.next());
|
||||
}
|
||||
|
||||
|
@ -227,11 +227,11 @@ public void apply(DirCacheEntry ent) {
|
|||
assertNull(gen.getModulesUpdate());
|
||||
assertNull(gen.getModulesUrl());
|
||||
Repository subRepo = gen.getRepository();
|
||||
addRepoToClose(subRepo);
|
||||
assertNotNull(subRepo);
|
||||
assertEqualsFile(modulesGitDir, subRepo.getDirectory());
|
||||
assertEqualsFile(new File(db.getWorkTree(), path),
|
||||
subRepo.getWorkTree());
|
||||
subRepo.close();
|
||||
assertFalse(gen.next());
|
||||
}
|
||||
|
||||
|
|
|
@ -533,13 +533,17 @@ public boolean diff(final ProgressMonitor monitor, int estWorkTreeSize,
|
|||
}
|
||||
Repository subRepo = smw.getRepository();
|
||||
if (subRepo != null) {
|
||||
try {
|
||||
ObjectId subHead = subRepo.resolve("HEAD"); //$NON-NLS-1$
|
||||
if (subHead != null && !subHead.equals(smw.getObjectId()))
|
||||
if (subHead != null
|
||||
&& !subHead.equals(smw.getObjectId()))
|
||||
modified.add(smw.getPath());
|
||||
else if (ignoreSubmoduleMode != IgnoreSubmoduleMode.DIRTY) {
|
||||
IndexDiff smid = submoduleIndexDiffs.get(smw.getPath());
|
||||
IndexDiff smid = submoduleIndexDiffs.get(smw
|
||||
.getPath());
|
||||
if (smid == null) {
|
||||
smid = new IndexDiff(subRepo, smw.getObjectId(),
|
||||
smid = new IndexDiff(subRepo,
|
||||
smw.getObjectId(),
|
||||
wTreeIt.getWorkingTreeIterator(subRepo));
|
||||
submoduleIndexDiffs.put(smw.getPath(), smid);
|
||||
}
|
||||
|
@ -556,6 +560,9 @@ else if (ignoreSubmoduleMode != IgnoreSubmoduleMode.DIRTY) {
|
|||
modified.add(smw.getPath());
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
subRepo.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue