diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleStatusTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleStatusTest.java index 5832518f8..9151b0407 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleStatusTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleStatusTest.java @@ -263,8 +263,10 @@ public class SubmoduleStatusTest extends RepositoryTestCase { .getRepository(); assertNotNull(subRepo); - TestRepository subTr = new TestRepository<>(subRepo); - ObjectId id = subTr.branch(Constants.HEAD).commit().create().copy(); + ObjectId id; + try (TestRepository subTr = new TestRepository<>(subRepo)) { + id = subTr.branch(Constants.HEAD).commit().create().copy(); + } DirCache cache = db.lockDirCache(); DirCacheEditor editor = cache.editor(); @@ -315,50 +317,52 @@ public class SubmoduleStatusTest extends RepositoryTestCase { .getRepository(); assertNotNull(subRepo); - TestRepository subTr = new TestRepository<>(subRepo); - ObjectId id = subTr.branch(Constants.HEAD).commit().create().copy(); - - DirCache cache = db.lockDirCache(); - DirCacheEditor editor = cache.editor(); - editor.add(new PathEdit(path) { - - @Override - public void apply(DirCacheEntry ent) { - ent.setFileMode(FileMode.GITLINK); - ent.setObjectId(id); - } - }); - editor.commit(); - - String url = "git://server/repo.git"; - StoredConfig config = db.getConfig(); - config.setString(ConfigConstants.CONFIG_SUBMODULE_SECTION, path, - ConfigConstants.CONFIG_KEY_URL, url); - config.save(); - - FileBasedConfig modulesConfig = new FileBasedConfig(new File( - db.getWorkTree(), Constants.DOT_GIT_MODULES), db.getFS()); - modulesConfig.setString(ConfigConstants.CONFIG_SUBMODULE_SECTION, path, - ConfigConstants.CONFIG_KEY_PATH, path); - modulesConfig.setString(ConfigConstants.CONFIG_SUBMODULE_SECTION, path, - ConfigConstants.CONFIG_KEY_URL, url); - modulesConfig.save(); - - ObjectId newId = subTr.branch(Constants.HEAD).commit().create().copy(); - - SubmoduleStatusCommand command = new SubmoduleStatusCommand(db); - Map statuses = command.call(); - assertNotNull(statuses); - assertEquals(1, statuses.size()); - Entry module = statuses.entrySet().iterator() - .next(); - assertNotNull(module); - assertEquals(path, module.getKey()); - SubmoduleStatus status = module.getValue(); - assertNotNull(status); - assertEquals(path, status.getPath()); - assertEquals(id, status.getIndexId()); - assertEquals(newId, status.getHeadId()); - assertEquals(SubmoduleStatusType.REV_CHECKED_OUT, status.getType()); + try (TestRepository subTr = new TestRepository<>(subRepo)) { + ObjectId id = subTr.branch(Constants.HEAD).commit().create().copy(); + DirCache cache = db.lockDirCache(); + DirCacheEditor editor = cache.editor(); + editor.add(new PathEdit(path) { + + @Override + public void apply(DirCacheEntry ent) { + ent.setFileMode(FileMode.GITLINK); + ent.setObjectId(id); + } + }); + editor.commit(); + + String url = "git://server/repo.git"; + StoredConfig config = db.getConfig(); + config.setString(ConfigConstants.CONFIG_SUBMODULE_SECTION, path, + ConfigConstants.CONFIG_KEY_URL, url); + config.save(); + + FileBasedConfig modulesConfig = new FileBasedConfig( + new File(db.getWorkTree(), Constants.DOT_GIT_MODULES), + db.getFS()); + modulesConfig.setString(ConfigConstants.CONFIG_SUBMODULE_SECTION, + path, ConfigConstants.CONFIG_KEY_PATH, path); + modulesConfig.setString(ConfigConstants.CONFIG_SUBMODULE_SECTION, + path, ConfigConstants.CONFIG_KEY_URL, url); + modulesConfig.save(); + + ObjectId newId = subTr.branch(Constants.HEAD).commit().create() + .copy(); + + SubmoduleStatusCommand command = new SubmoduleStatusCommand(db); + Map statuses = command.call(); + assertNotNull(statuses); + assertEquals(1, statuses.size()); + Entry module = statuses.entrySet() + .iterator().next(); + assertNotNull(module); + assertEquals(path, module.getKey()); + SubmoduleStatus status = module.getValue(); + assertNotNull(status); + assertEquals(path, status.getPath()); + assertEquals(id, status.getIndexId()); + assertEquals(newId, status.getHeadId()); + assertEquals(SubmoduleStatusType.REV_CHECKED_OUT, status.getType()); + } } }