|
|
@@ -66,6 +66,7 @@ import org.eclipse.jgit.lib.ObjectId; |
|
|
|
import org.eclipse.jgit.lib.Repository; |
|
|
|
import org.eclipse.jgit.lib.RepositoryTestCase; |
|
|
|
import org.eclipse.jgit.revwalk.RevCommit; |
|
|
|
import org.eclipse.jgit.storage.file.FileBasedConfig; |
|
|
|
import org.junit.Test; |
|
|
|
|
|
|
|
/** |
|
|
@@ -212,4 +213,44 @@ public class SubmoduleAddTest extends RepositoryTestCase { |
|
|
|
assertTrue(status.getAdded().contains(Constants.DOT_GIT_MODULES)); |
|
|
|
assertTrue(status.getAdded().contains(path)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
public void addSubmoduleWithExistingSubmoduleDefined() throws Exception { |
|
|
|
String path1 = "sub1"; |
|
|
|
String url1 = "git://server/repo1.git"; |
|
|
|
String path2 = "sub2"; |
|
|
|
|
|
|
|
FileBasedConfig modulesConfig = new FileBasedConfig(new File( |
|
|
|
db.getWorkTree(), Constants.DOT_GIT_MODULES), db.getFS()); |
|
|
|
modulesConfig.setString(ConfigConstants.CONFIG_SUBMODULE_SECTION, |
|
|
|
path1, ConfigConstants.CONFIG_KEY_PATH, path1); |
|
|
|
modulesConfig.setString(ConfigConstants.CONFIG_SUBMODULE_SECTION, |
|
|
|
path1, ConfigConstants.CONFIG_KEY_URL, url1); |
|
|
|
modulesConfig.save(); |
|
|
|
|
|
|
|
Git git = new Git(db); |
|
|
|
writeTrashFile("file.txt", "content"); |
|
|
|
git.add().addFilepattern("file.txt").call(); |
|
|
|
assertNotNull(git.commit().setMessage("create file").call()); |
|
|
|
|
|
|
|
SubmoduleAddCommand command = new SubmoduleAddCommand(db); |
|
|
|
command.setPath(path2); |
|
|
|
String url2 = db.getDirectory().toURI().toString(); |
|
|
|
command.setURI(url2); |
|
|
|
assertNotNull(command.call()); |
|
|
|
|
|
|
|
modulesConfig.load(); |
|
|
|
assertEquals(path1, modulesConfig.getString( |
|
|
|
ConfigConstants.CONFIG_SUBMODULE_SECTION, path1, |
|
|
|
ConfigConstants.CONFIG_KEY_PATH)); |
|
|
|
assertEquals(url1, modulesConfig.getString( |
|
|
|
ConfigConstants.CONFIG_SUBMODULE_SECTION, path1, |
|
|
|
ConfigConstants.CONFIG_KEY_URL)); |
|
|
|
assertEquals(path2, modulesConfig.getString( |
|
|
|
ConfigConstants.CONFIG_SUBMODULE_SECTION, path2, |
|
|
|
ConfigConstants.CONFIG_KEY_PATH)); |
|
|
|
assertEquals(url2, modulesConfig.getString( |
|
|
|
ConfigConstants.CONFIG_SUBMODULE_SECTION, path2, |
|
|
|
ConfigConstants.CONFIG_KEY_URL)); |
|
|
|
} |
|
|
|
} |