@Test
public void testBareRepo() throws Exception {
- try (
- Repository remoteDb = createBareRepository();
- Repository tempDb = createWorkRepository()) {
- StringBuilder xmlContent = new StringBuilder();
- 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());
- RepoCommand command = new RepoCommand(remoteDb);
- 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()
- .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));
- String content = reader.readLine();
- reader.close();
- assertEquals(
- "The first line of .gitmodules file should be as expected",
- "[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);
- }
+ Repository remoteDb = createBareRepository();
+ Repository tempDb = createWorkRepository();
+
+ StringBuilder xmlContent = new StringBuilder();
+ 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());
+ RepoCommand command = new RepoCommand(remoteDb);
+ 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()
+ .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));
+ String content = reader.readLine();
+ reader.close();
+ assertEquals("The first line of .gitmodules file should be as expected",
+ "[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);
}
@Test
@Test
public void testRevisionBare() throws Exception {
- try (
- Repository remoteDb = createBareRepository();
- Repository tempDb = createWorkRepository()) {
- 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("\" remote=\"remote1\" />")
- .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();
- // Clone it
- File directory = createTempDirectory("testRevisionBare");
- 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);
- }
+ Repository remoteDb = createBareRepository();
+ Repository tempDb = createWorkRepository();
+
+ 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("\" remote=\"remote1\" />")
+ .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();
+ // Clone it
+ File directory = createTempDirectory("testRevisionBare");
+ 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);
}
@Test
public void testCopyFileBare() throws Exception {
- try (
- Repository remoteDb = createBareRepository();
- Repository tempDb = createWorkRepository()) {
- StringBuilder xmlContent = new StringBuilder();
- 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("<copyfile src=\"hello.txt\" dest=\"Hello\" />")
- .append("<copyfile src=\"hello.txt\" dest=\"foo/Hello\" />")
- .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();
- // Clone it
- File directory = createTempDirectory("testCopyFileBare");
- 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");
- assertTrue("The Hello file should exist", hello.exists());
- // The foo/Hello file should be skipped.
- File foohello = new File(localDb.getWorkTree(), "foo/Hello");
- assertFalse(
- "The foo/Hello file should be skipped", foohello.exists());
- localDb.close();
- // The content of Hello file should be expected
- BufferedReader reader = new BufferedReader(new FileReader(hello));
- String content = reader.readLine();
- reader.close();
- assertEquals("The Hello file should have expected content",
- "branch world", content);
- }
+ Repository remoteDb = createBareRepository();
+ Repository tempDb = createWorkRepository();
+
+ StringBuilder xmlContent = new StringBuilder();
+ 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("<copyfile src=\"hello.txt\" dest=\"Hello\" />")
+ .append("<copyfile src=\"hello.txt\" dest=\"foo/Hello\" />")
+ .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();
+ // Clone it
+ File directory = createTempDirectory("testCopyFileBare");
+ 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");
+ assertTrue("The Hello file should exist", hello.exists());
+ // The foo/Hello file should be skipped.
+ File foohello = new File(localDb.getWorkTree(), "foo/Hello");
+ assertFalse("The foo/Hello file should be skipped", foohello.exists());
+ localDb.close();
+ // The content of Hello file should be expected
+ BufferedReader reader = new BufferedReader(new FileReader(hello));
+ String content = reader.readLine();
+ reader.close();
+ assertEquals("The Hello file should have expected content",
+ "branch world", content);
}
@Test
public void testReplaceManifestBare() throws Exception {
- try (
- Repository remoteDb = createBareRepository();
- Repository tempDb = createWorkRepository()) {
- StringBuilder xmlContent = new StringBuilder();
- 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("<copyfile src=\"hello.txt\" dest=\"Hello\" />")
- .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();
- xmlContent = new StringBuilder();
- 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=\"bar\" name=\"")
- .append(defaultUri)
- .append("\" revision=\"")
- .append(BRANCH)
- .append("\" >")
- .append("<copyfile src=\"hello.txt\" dest=\"Hello.txt\" />")
- .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();
- // Clone it
- File directory = createTempDirectory("testReplaceManifestBare");
- 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");
- assertFalse("The Hello file shouldn't exist", hello.exists());
- // 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
- // 'submodule "foo"' lines.
- File dotmodules = new File(localDb.getWorkTree(),
- Constants.DOT_GIT_MODULES);
- localDb.close();
- BufferedReader reader = new BufferedReader(new FileReader(
- dotmodules));
- boolean foo = false;
- boolean bar = false;
- while (true) {
- String line = reader.readLine();
- if (line == null)
- break;
- if (line.contains("submodule \"foo\""))
- foo = true;
- if (line.contains("submodule \"bar\""))
- bar = true;
- }
- reader.close();
- assertTrue("The bar submodule should exist", bar);
- assertFalse("The foo submodule shouldn't exist", foo);
+ Repository remoteDb = createBareRepository();
+ Repository tempDb = createWorkRepository();
+
+ StringBuilder xmlContent = new StringBuilder();
+ 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("<copyfile src=\"hello.txt\" dest=\"Hello\" />")
+ .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();
+ xmlContent = new StringBuilder();
+ 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=\"bar\" name=\"").append(defaultUri)
+ .append("\" revision=\"").append(BRANCH).append("\" >")
+ .append("<copyfile src=\"hello.txt\" dest=\"Hello.txt\" />")
+ .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();
+ // Clone it
+ File directory = createTempDirectory("testReplaceManifestBare");
+ 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");
+ assertFalse("The Hello file shouldn't exist", hello.exists());
+ // 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
+ // 'submodule "foo"' lines.
+ File dotmodules = new File(localDb.getWorkTree(),
+ Constants.DOT_GIT_MODULES);
+ localDb.close();
+ BufferedReader reader = new BufferedReader(new FileReader(dotmodules));
+ boolean foo = false;
+ boolean bar = false;
+ while (true) {
+ String line = reader.readLine();
+ if (line == null)
+ break;
+ if (line.contains("submodule \"foo\""))
+ foo = true;
+ if (line.contains("submodule \"bar\""))
+ bar = true;
}
+ reader.close();
+ assertTrue("The bar submodule should exist", bar);
+ assertFalse("The foo submodule shouldn't exist", foo);
}
@Test
public void testRemoveOverlappingBare() throws Exception {
- try (
- Repository remoteDb = createBareRepository();
- Repository tempDb = createWorkRepository()) {
- StringBuilder xmlContent = new StringBuilder();
- 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());
- RepoCommand command = new RepoCommand(remoteDb);
- 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()
- .getRepository();
- // 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);
- localDb.close();
- BufferedReader reader = new BufferedReader(new FileReader(
- dotmodules));
- boolean foo = false;
- boolean foobar = false;
- boolean a = false;
- while (true) {
- String line = reader.readLine();
- if (line == null)
- break;
- if (line.contains("submodule \"foo\""))
- foo = true;
- if (line.contains("submodule \"foo/bar\""))
- foobar = true;
- if (line.contains("submodule \"a\""))
- a = true;
- }
- reader.close();
- assertTrue("The foo submodule should exist", foo);
- assertFalse("The foo/bar submodule shouldn't exist", foobar);
- assertTrue("The a submodule should exist", a);
+ Repository remoteDb = createBareRepository();
+ Repository tempDb = createWorkRepository();
+
+ StringBuilder xmlContent = new StringBuilder();
+ 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());
+ RepoCommand command = new RepoCommand(remoteDb);
+ 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()
+ .getRepository();
+ // 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);
+ localDb.close();
+ BufferedReader reader = new BufferedReader(new FileReader(dotmodules));
+ boolean foo = false;
+ boolean foobar = false;
+ boolean a = false;
+ while (true) {
+ String line = reader.readLine();
+ if (line == null)
+ break;
+ if (line.contains("submodule \"foo\""))
+ foo = true;
+ if (line.contains("submodule \"foo/bar\""))
+ foobar = true;
+ if (line.contains("submodule \"a\""))
+ a = true;
}
+ reader.close();
+ assertTrue("The foo submodule should exist", foo);
+ assertFalse("The foo/bar submodule shouldn't exist", foobar);
+ assertTrue("The a submodule should exist", a);
}
@Test
@Test
public void testTargetBranch() throws Exception {
- try (
- Repository remoteDb1 = createBareRepository();
- Repository remoteDb2 = createBareRepository();
- Repository tempDb = createWorkRepository()) {
- StringBuilder xmlContent = new StringBuilder();
- 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());
- RepoCommand command = new RepoCommand(remoteDb1);
- command
- .setPath(tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
- .setURI(rootUri)
- .setTargetBranch("test")
- .call();
- ObjectId branchId = remoteDb1.resolve(
- Constants.R_HEADS + "test^{tree}");
- command = new RepoCommand(remoteDb2);
- command
- .setPath(tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
- .setURI(rootUri)
- .call();
- ObjectId defaultId = remoteDb2.resolve(Constants.HEAD + "^{tree}");
- assertEquals(
+ Repository remoteDb1 = createBareRepository();
+ Repository remoteDb2 = createBareRepository();
+ Repository tempDb = createWorkRepository();
+
+ StringBuilder xmlContent = new StringBuilder();
+ 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());
+ RepoCommand command = new RepoCommand(remoteDb1);
+ command.setPath(
+ tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
+ .setURI(rootUri).setTargetBranch("test").call();
+ ObjectId branchId = remoteDb1
+ .resolve(Constants.R_HEADS + "test^{tree}");
+ command = new RepoCommand(remoteDb2);
+ command.setPath(
+ tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
+ .setURI(rootUri).call();
+ ObjectId defaultId = remoteDb2.resolve(Constants.HEAD + "^{tree}");
+ assertEquals(
"The tree id of branch db and default db should be the same",
branchId, defaultId);
- }
}
@Test
public void testRecordRemoteBranch() throws Exception {
- try (
- Repository remoteDb = createBareRepository();
- Repository tempDb = createWorkRepository()) {
- StringBuilder xmlContent = new StringBuilder();
- xmlContent
- .append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
+ Repository remoteDb = createBareRepository();
+ Repository tempDb = createWorkRepository();
+
+ StringBuilder xmlContent = new StringBuilder();
+ 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=\"with-branch\" ")
- .append("revision=\"master\" ")
- .append("name=\"").append(notDefaultUri).append("\" />")
+ .append("revision=\"master\" ").append("name=\"")
+ .append(notDefaultUri).append("\" />")
.append("<project path=\"with-long-branch\" ")
- .append("revision=\"refs/heads/master\" ")
- .append("name=\"").append(defaultUri).append("\" />")
- .append("</manifest>");
- JGitTestUtil.writeTrashFile(tempDb, "manifest.xml",
+ .append("revision=\"refs/heads/master\" ").append("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)
- .setRecordRemoteBranch(true)
- .call();
- // Clone it
- File directory = createTempDirectory("testBareRepo");
- try (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());
- FileBasedConfig c = new FileBasedConfig(gitmodules,
- FS.DETECTED);
- c.load();
- assertEquals("Recording remote branches should work for short branch descriptions", "master",
- c.getString("submodule", "with-branch", "branch"));
- assertEquals("Recording remote branches should work for full ref specs", "refs/heads/master",
- c.getString("submodule", "with-long-branch", "branch"));
- }
+ RepoCommand command = new RepoCommand(remoteDb);
+ command.setPath(
+ tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
+ .setURI(rootUri).setRecordRemoteBranch(true).call();
+ // Clone it
+ File directory = createTempDirectory("testBareRepo");
+ try (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());
+ FileBasedConfig c = new FileBasedConfig(gitmodules, FS.DETECTED);
+ c.load();
+ assertEquals(
+ "Recording remote branches should work for short branch descriptions",
+ "master",
+ c.getString("submodule", "with-branch", "branch"));
+ assertEquals(
+ "Recording remote branches should work for full ref specs",
+ "refs/heads/master",
+ c.getString("submodule", "with-long-branch", "branch"));
}
}
@Test
public void testRecordSubmoduleLabels() throws Exception {
- try (
- Repository remoteDb = createBareRepository();
- Repository tempDb = createWorkRepository()) {
- StringBuilder xmlContent = new StringBuilder();
- xmlContent
- .append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
+ Repository remoteDb = createBareRepository();
+ Repository tempDb = createWorkRepository();
+
+ StringBuilder xmlContent = new StringBuilder();
+ 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=\"test\" ")
- .append("revision=\"master\" ")
- .append("name=\"").append(notDefaultUri).append("\" ")
- .append("groups=\"a1,a2\" />")
- .append("</manifest>");
- JGitTestUtil.writeTrashFile(tempDb, "manifest.xml",
+ .append("revision=\"master\" ").append("name=\"")
+ .append(notDefaultUri).append("\" ")
+ .append("groups=\"a1,a2\" />").append("</manifest>");
+ JGitTestUtil.writeTrashFile(tempDb, "manifest.xml",
xmlContent.toString());
- RepoCommand command = new RepoCommand(remoteDb);
- command.setPath(tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
- .setURI(rootUri)
- .setRecordSubmoduleLabels(true)
- .call();
- // Clone it
- File directory = createTempDirectory("testBareRepo");
- try (Repository localDb = Git.cloneRepository()
- .setDirectory(directory)
- .setURI(remoteDb.getDirectory().toURI().toString()).call()
- .getRepository();) {
- // The .gitattributes file should exist
- File gitattributes = new File(localDb.getWorkTree(),
+ RepoCommand command = new RepoCommand(remoteDb);
+ command.setPath(
+ tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
+ .setURI(rootUri).setRecordSubmoduleLabels(true).call();
+ // Clone it
+ File directory = createTempDirectory("testBareRepo");
+ try (Repository localDb = Git.cloneRepository().setDirectory(directory)
+ .setURI(remoteDb.getDirectory().toURI().toString()).call()
+ .getRepository();) {
+ // The .gitattributes file should exist
+ File gitattributes = new File(localDb.getWorkTree(),
".gitattributes");
- assertTrue("The .gitattributes file should exist",
- gitattributes.exists());
- try (BufferedReader reader = new BufferedReader(
- new FileReader(gitattributes));) {
- String content = reader.readLine();
- assertEquals(".gitattributes content should be as expected",
+ assertTrue("The .gitattributes file should exist",
+ gitattributes.exists());
+ try (BufferedReader reader = new BufferedReader(
+ new FileReader(gitattributes));) {
+ String content = reader.readLine();
+ assertEquals(".gitattributes content should be as expected",
"/test a1 a2", content);
- }
}
}
}
@Test
public void testRecordShallowRecommendation() throws Exception {
- try (
- Repository remoteDb = createBareRepository();
- Repository tempDb = createWorkRepository()) {
- StringBuilder xmlContent = new StringBuilder();
- xmlContent
- .append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
+ Repository remoteDb = createBareRepository();
+ Repository tempDb = createWorkRepository();
+
+ StringBuilder xmlContent = new StringBuilder();
+ 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=\"shallow-please\" ")
- .append("name=\"").append(defaultUri).append("\" ")
- .append("clone-depth=\"1\" />")
- .append("<project path=\"non-shallow\" ")
- .append("name=\"").append(defaultUri).append("\" />")
- .append("</manifest>");
- JGitTestUtil.writeTrashFile(tempDb, "manifest.xml",
+ .append("<project path=\"shallow-please\" ").append("name=\"")
+ .append(defaultUri).append("\" ").append("clone-depth=\"1\" />")
+ .append("<project path=\"non-shallow\" ").append("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)
- .setRecommendShallow(true)
- .call();
- // Clone it
- File directory = createTempDirectory("testBareRepo");
- try (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());
- FileBasedConfig c = new FileBasedConfig(gitmodules,
- FS.DETECTED);
- c.load();
- assertEquals("Recording shallow configuration should work", "true",
- c.getString("submodule", "shallow-please", "shallow"));
- assertNull("Recording non shallow configuration should work",
- c.getString("submodule", "non-shallow", "shallow"));
- }
+ RepoCommand command = new RepoCommand(remoteDb);
+ command.setPath(
+ tempDb.getWorkTree().getAbsolutePath() + "/manifest.xml")
+ .setURI(rootUri).setRecommendShallow(true).call();
+ // Clone it
+ File directory = createTempDirectory("testBareRepo");
+ try (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());
+ FileBasedConfig c = new FileBasedConfig(gitmodules, FS.DETECTED);
+ c.load();
+ assertEquals("Recording shallow configuration should work", "true",
+ c.getString("submodule", "shallow-please", "shallow"));
+ assertNull("Recording non shallow configuration should work",
+ c.getString("submodule", "non-shallow", "shallow"));
}
}